diff --git a/Cargo.lock b/Cargo.lock
index 2b66c0da651..47947c00aa3 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4262,9 +4262,9 @@ dependencies = [
"gclient",
"gear-core",
"gear-core-errors",
+ "gear-node-wrapper",
"gear-runtime-primitives",
"gmeta",
- "gnode",
"gring",
"gsdk",
"hex",
@@ -4317,9 +4317,9 @@ dependencies = [
"futures",
"gear-core",
"gear-core-errors",
+ "gear-node-wrapper",
"gear-utils",
"gmeta",
- "gnode",
"gsdk",
"gstd",
"hex",
@@ -4701,6 +4701,16 @@ dependencies = [
"vara-runtime",
]
+[[package]]
+name = "gear-node-wrapper"
+version = "1.4.2"
+dependencies = [
+ "anyhow",
+ "rand 0.8.5",
+ "smallvec",
+ "which",
+]
+
[[package]]
name = "gear-pwasm-utils"
version = "0.19.0"
@@ -5231,16 +5241,6 @@ dependencies = [
"syn 2.0.66",
]
-[[package]]
-name = "gnode"
-version = "1.4.2"
-dependencies = [
- "anyhow",
- "rand 0.8.5",
- "smallvec",
- "which",
-]
-
[[package]]
name = "gprimitives"
version = "1.4.2"
@@ -5301,8 +5301,8 @@ dependencies = [
"futures-util",
"gear-core",
"gear-core-errors",
+ "gear-node-wrapper",
"gear-utils",
- "gnode",
"gsdk-codegen",
"hex",
"indexmap 2.2.6",
diff --git a/Cargo.toml b/Cargo.toml
index fbf1a63785b..6e15f4693b3 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -203,7 +203,7 @@ gbuiltin-bls381 = { path = "gbuiltins/bls381", default-features = false }
gcore = { path = "gcore" }
gcli = { path = "gcli" }
gclient = { path = "gclient" }
-gnode = { path = "utils/gnode" }
+gear-node-wrapper = { path = "utils/node-wrapper" }
gsdk = { path = "gsdk" }
gsdk-codegen = { path = "gsdk/codegen" }
gstd = { path = "gstd", features = ["nightly"] }
@@ -490,7 +490,7 @@ scale-decode = "0.9.0" # gsdk
directories = "5.0.1" # utils/key-finder
num-traits = { version = "0.2", default-features = false } # gear-core
glob = "0.3.1" # cargo-gbuild
-smallvec = "1.13.2" # utils/gnode
+smallvec = "1.13.2" # utils/node-wrapper
# TODO: remove after wasmer bug is fixed:
# `misaligned pointer dereference: address must be a multiple of 0x8 but is...`
diff --git a/common/Cargo.toml b/common/Cargo.toml
index bce299877f0..4691f272de2 100644
--- a/common/Cargo.toml
+++ b/common/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-common"
description = "Gear common library for the runtime"
+documentation = "https://docs.rs/gear-common"
keywords = ["gear", "wasm"]
categories = ["wasm"]
version.workspace = true
diff --git a/common/codegen/Cargo.toml b/common/codegen/Cargo.toml
index 709c8ca1ca4..8dbbfb0f60c 100644
--- a/common/codegen/Cargo.toml
+++ b/common/codegen/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-common-codegen"
description = "Code generation library for the Gear common library"
+documentation = "https://docs.rs/gear-common-codegen"
keywords = ["gear", "wasm", "codegen"]
categories = ["wasm"]
version.workspace = true
diff --git a/common/numerated/Cargo.toml b/common/numerated/Cargo.toml
index 099f55715cc..fc73db8e69d 100644
--- a/common/numerated/Cargo.toml
+++ b/common/numerated/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "numerated"
description = "A library for working with intervals and sets of numerated values"
+documentation = "https://docs.rs/numerated"
keywords = ["gear", "tree", "interval", "numerated", "no-std"]
categories = ["mathematics", "no-std"]
version.workspace = true
diff --git a/core-backend/Cargo.toml b/core-backend/Cargo.toml
index f4e71ca3740..15c459261d4 100644
--- a/core-backend/Cargo.toml
+++ b/core-backend/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-core-backend"
description = "Gear WASM backend"
+documentation = "https://docs.rs/gear-core-backend"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/core-errors/Cargo.toml b/core-errors/Cargo.toml
index 66001be67a7..04a7baeda06 100644
--- a/core-errors/Cargo.toml
+++ b/core-errors/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-core-errors"
description = "Shared errors for Gear core libraries"
+documentation = "https://docs.rs/gear-core-errors"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/core-processor/Cargo.toml b/core-processor/Cargo.toml
index cd00e2fc646..306a604b3fa 100644
--- a/core-processor/Cargo.toml
+++ b/core-processor/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-core-processor"
description = "The core processor for Gear programs"
+documentation = "https://docs.rs/core-processor"
keywords = ["gear", "wasm"]
categories = ["wasm"]
version.workspace = true
diff --git a/core/Cargo.toml b/core/Cargo.toml
index 6d20117196b..e4adcb206af 100644
--- a/core/Cargo.toml
+++ b/core/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-core"
description = "Gear core library"
+documentation = "https://docs.rs/gear-core"
keywords = ["gear", "wasm"]
categories = ["wasm"]
version.workspace = true
diff --git a/galloc/Cargo.toml b/galloc/Cargo.toml
index f8fedb3528a..0b85eef34cb 100644
--- a/galloc/Cargo.toml
+++ b/galloc/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "galloc"
description = "Gear Wasm allocator"
+documentation = "https://docs.rs/galloc"
keywords = ["gear", "allocator", "wasm"]
version.workspace = true
authors.workspace = true
diff --git a/gcli/Cargo.toml b/gcli/Cargo.toml
index 660f811b4fb..f0de9a97d3f 100644
--- a/gcli/Cargo.toml
+++ b/gcli/Cargo.toml
@@ -48,7 +48,7 @@ rand.workspace = true
demo-messenger.workspace = true
demo-new-meta.workspace = true
demo-waiter.workspace = true
-gnode.workspace = true
+gear-node-wrapper.workspace = true
[build-dependencies]
which.workspace = true
diff --git a/gcli/tests/common/mod.rs b/gcli/tests/common/mod.rs
index 4c4c7963138..7ed73152238 100644
--- a/gcli/tests/common/mod.rs
+++ b/gcli/tests/common/mod.rs
@@ -19,7 +19,7 @@
//! Common utils for integration tests
pub use self::{args::Args, node::NodeExec, result::Result};
use gear_core::ids::{prelude::*, CodeId, ProgramId};
-use gnode::{Node, NodeInstance};
+use gear_node_wrapper::{Node, NodeInstance};
use gsdk::ext::{sp_core::crypto::Ss58Codec, sp_runtime::AccountId32};
use std::{
iter::IntoIterator,
diff --git a/gclient/Cargo.toml b/gclient/Cargo.toml
index 32d56f6139e..c348b8357ed 100644
--- a/gclient/Cargo.toml
+++ b/gclient/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gclient"
description = "API client for Gear node in Rust"
+documentation = "https://docs.rs/gclient"
version.workspace = true
authors.workspace = true
edition.workspace = true
@@ -11,7 +12,7 @@ repository.workspace = true
[dependencies]
gear-utils.workspace = true
gsdk = { workspace = true, features = ["testing"] }
-gnode.workspace = true
+gear-node-wrapper.workspace = true
gear-core.workspace = true
gear-core-errors.workspace = true
diff --git a/gclient/src/api/mod.rs b/gclient/src/api/mod.rs
index e66445247a5..879e004a4b3 100644
--- a/gclient/src/api/mod.rs
+++ b/gclient/src/api/mod.rs
@@ -24,7 +24,7 @@ pub mod storage;
use crate::{ws::WSAddress, EventListener};
use error::*;
-use gnode::{Node, NodeInstance};
+use gear_node_wrapper::{Node, NodeInstance};
use gsdk::{
ext::{sp_core::sr25519, sp_runtime::AccountId32},
signer::Signer,
diff --git a/gcore/Cargo.toml b/gcore/Cargo.toml
index 59d2fd8f4eb..7e8ad61790a 100644
--- a/gcore/Cargo.toml
+++ b/gcore/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gcore"
description = "Gear programs core library"
+documentation = "https://docs.rs/gcore"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/gmeta/Cargo.toml b/gmeta/Cargo.toml
index e729af57208..d96b290754f 100644
--- a/gmeta/Cargo.toml
+++ b/gmeta/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gmeta"
description = "Metadata library for Gear programs"
+documentation = "https://docs.rs/gmeta"
keywords = ["gear", "wasm"]
categories = ["wasm"]
version.workspace = true
diff --git a/gmeta/codegen/Cargo.toml b/gmeta/codegen/Cargo.toml
index b9be9f6f321..7168e704e70 100644
--- a/gmeta/codegen/Cargo.toml
+++ b/gmeta/codegen/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gmeta-codegen"
description = "Code generation library for the metadata of Gear program"
+documentation = "https://docs.rs/gmeta-codegen"
keywords = ["gear", "wasm", "codegen"]
categories = ["wasm"]
version.workspace = true
diff --git a/gprimitives/Cargo.toml b/gprimitives/Cargo.toml
index e740d90adad..fed67998b25 100644
--- a/gprimitives/Cargo.toml
+++ b/gprimitives/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gprimitives"
description = "Gear programs' primitives"
+documentation = "https://docs.rs/gprimitives"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/gsdk/Cargo.toml b/gsdk/Cargo.toml
index 56cfb1bcad6..41129526785 100644
--- a/gsdk/Cargo.toml
+++ b/gsdk/Cargo.toml
@@ -1,8 +1,9 @@
[package]
name = "gsdk"
-keywords = ["gear", "api", "sdk"]
-categories = ["wasm", "api-bindings"]
description = "Rust SDK of the Gear network"
+documentation = "https://docs.rs/gsdk"
+categories = ["wasm", "api-bindings"]
+keywords = ["gear", "api", "sdk"]
version.workspace = true
authors.workspace = true
edition.workspace = true
@@ -41,7 +42,7 @@ parity-scale-codec.workspace = true
rand = { workspace = true, optional = true }
[dev-dependencies]
-gnode.workspace = true
+gear-node-wrapper.workspace = true
tokio = { workspace = true, features = [ "full" ] }
demo-messenger.workspace = true
demo-new-meta.workspace = true
diff --git a/gsdk/codegen/Cargo.toml b/gsdk/codegen/Cargo.toml
index ae54b23b204..d59a0ea6870 100644
--- a/gsdk/codegen/Cargo.toml
+++ b/gsdk/codegen/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gsdk-codegen"
description = "Code generation library for the Rust SDK of Gear network"
+documentation = "https://docs.rs/gsdk-codegen"
keywords = ["gear", "sdk", "codegen"]
categories = ["api-bindings"]
version.workspace = true
diff --git a/gsdk/tests/utils/mod.rs b/gsdk/tests/utils/mod.rs
index faed6c587c9..da2ce49c2e0 100644
--- a/gsdk/tests/utils/mod.rs
+++ b/gsdk/tests/utils/mod.rs
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
-use gnode::{Node, NodeInstance};
+use gear_node_wrapper::{Node, NodeInstance};
use gsdk::ext::{sp_core::crypto::Ss58Codec, sp_runtime::AccountId32};
pub fn dev_node() -> NodeInstance {
diff --git a/gstd/Cargo.toml b/gstd/Cargo.toml
index 0f6f03f3c03..187e82d6911 100644
--- a/gstd/Cargo.toml
+++ b/gstd/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gstd"
description = "Gear programs standard library"
+documentation = "https://docs.rs/gstd"
keywords = ["gear", "std", "no-std", "wasm", "smart-contracts"]
categories = ["api-bindings"]
# Stable version of Rust >=1.73 is required due to new format of panic message.
diff --git a/gstd/codegen/Cargo.toml b/gstd/codegen/Cargo.toml
index 6dd6a952669..d444a9e9562 100644
--- a/gstd/codegen/Cargo.toml
+++ b/gstd/codegen/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gstd-codegen"
description = "Code generation library for the Gear standard library"
+documentation = "https://docs.rs/gstd-codegen"
keywords = ["gear", "codegen", "std"]
categories = ["api-bindings"]
version.workspace = true
diff --git a/gsys/Cargo.toml b/gsys/Cargo.toml
index 16038648459..ff350f5b793 100644
--- a/gsys/Cargo.toml
+++ b/gsys/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gsys"
description = "System calls of Gear program"
+documentation = "https://docs.rs/gsys"
keywords = ["gear", "wasm"]
categories = ["wasm", "api-bindings"]
version.workspace = true
diff --git a/gtest/Cargo.toml b/gtest/Cargo.toml
index e4bafb7b3ab..7fe32402a76 100644
--- a/gtest/Cargo.toml
+++ b/gtest/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gtest"
description = "Testing utils for developing Gear programs."
+documentation = "https://docs.rs/gtest"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/lazy-pages/Cargo.toml b/lazy-pages/Cargo.toml
index 0ee5d93e4ec..542b0fca6df 100644
--- a/lazy-pages/Cargo.toml
+++ b/lazy-pages/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-lazy-pages"
description = "Gear lazy-pages implementation"
+documentation = "https://docs.rs/gear-lazy-pages"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/lazy-pages/common/Cargo.toml b/lazy-pages/common/Cargo.toml
index d449c6c6a24..fb847f199f2 100644
--- a/lazy-pages/common/Cargo.toml
+++ b/lazy-pages/common/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-lazy-pages-common"
description = "Gear lazy-pages commons"
+documentation = "https://docs.rs/gear-lazy-pages-common"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/lazy-pages/interface/Cargo.toml b/lazy-pages/interface/Cargo.toml
index 72f395a815b..3df7bfe47cb 100644
--- a/lazy-pages/interface/Cargo.toml
+++ b/lazy-pages/interface/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-lazy-pages-interface"
description = "Gear lazy-pages actual interface"
+documentation = "https://docs.rs/gear-lazy-pages-interface"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/lazy-pages/native-interface/Cargo.toml b/lazy-pages/native-interface/Cargo.toml
index 9f6a590fa9c..ec2b874d028 100644
--- a/lazy-pages/native-interface/Cargo.toml
+++ b/lazy-pages/native-interface/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-lazy-pages-native-interface"
description = "Gear lazy-pages native interface"
+documentation = "https://docs.rs/gear-lazy-pages-native-interface"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/runtime-interface/Cargo.toml b/runtime-interface/Cargo.toml
index 776f36ef099..45c1e7317dd 100644
--- a/runtime-interface/Cargo.toml
+++ b/runtime-interface/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-runtime-interface"
description = "Gear Runtime Interface"
+documentation = "https://docs.rs/gear-runtime-interface"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/runtime/primitives/Cargo.toml b/runtime/primitives/Cargo.toml
index a4589cb002f..e8b6a1a3217 100644
--- a/runtime/primitives/Cargo.toml
+++ b/runtime/primitives/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-runtime-primitives"
description = "Gear Runtime primitives"
+documentation = "https://docs.rs/gear-runtime-primitives"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/sandbox/env/Cargo.toml b/sandbox/env/Cargo.toml
index 9b9000c07b2..2ee3e35b8c0 100644
--- a/sandbox/env/Cargo.toml
+++ b/sandbox/env/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-sandbox-env"
description = "This crate provides means to instantiate and execute wasm modules."
+documentation = "https://docs.rs/gear-sandbox-env"
authors.workspace = true
edition.workspace = true
license.workspace = true
diff --git a/sandbox/host/Cargo.toml b/sandbox/host/Cargo.toml
index 4dbaa66ef96..3d466dca893 100644
--- a/sandbox/host/Cargo.toml
+++ b/sandbox/host/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-sandbox-host"
description = "A set of common definitions that are needed for defining execution engines."
+documentation = "https://docs.rs/gear-sandbox-host"
readme = "README.md"
authors.workspace = true
edition.workspace = true
@@ -24,7 +25,7 @@ sp-allocator = { workspace = true, features = ["std"] }
sp-wasm-interface-common = { workspace = true, features = ["std"] }
gear-sandbox-env = { workspace = true, features = ["std"] }
wasmer-cache = { workspace = true, optional = true }
-tempfile.workspace = true
+tempfile.workspace = true
uluru = { workspace = true, optional = true }
[features]
diff --git a/sandbox/sandbox/Cargo.toml b/sandbox/sandbox/Cargo.toml
index 1c0a64d51eb..4126669f2ec 100644
--- a/sandbox/sandbox/Cargo.toml
+++ b/sandbox/sandbox/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-sandbox"
description = "This crate provides means to instantiate and execute wasm modules."
+documentation = "https://docs.rs/gear-sandbox"
readme = "README.md"
authors.workspace = true
edition.workspace = true
diff --git a/stack-buffer/Cargo.toml b/stack-buffer/Cargo.toml
index 550d2df76cb..0f261313c91 100644
--- a/stack-buffer/Cargo.toml
+++ b/stack-buffer/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-stack-buffer"
description = "Gear stack buffer implementation"
+documentation = "https://docs.rs/gear-stack-buffer"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/utils/actor-system-error/Cargo.toml b/utils/actor-system-error/Cargo.toml
index 9e90a629252..70e24eb39af 100644
--- a/utils/actor-system-error/Cargo.toml
+++ b/utils/actor-system-error/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "actor-system-error"
description = "Helper crate for implementation of errors on gear backend"
+documentation = "https://docs.rs/actor-system-error"
edition.workspace = true
version.workspace = true
authors.workspace = true
diff --git a/utils/cargo-gbuild/Cargo.toml b/utils/cargo-gbuild/Cargo.toml
index 2a014a930f9..8343291c01a 100644
--- a/utils/cargo-gbuild/Cargo.toml
+++ b/utils/cargo-gbuild/Cargo.toml
@@ -1,5 +1,7 @@
[package]
name = "cargo-gbuild"
+description = "Cargo extension for Gear programs"
+documentation = "https://docs.rs/cargo-gbuild"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/utils/crates-io/src/lib.rs b/utils/crates-io/src/lib.rs
index 75eecbccd67..feb22708cb2 100644
--- a/utils/crates-io/src/lib.rs
+++ b/utils/crates-io/src/lib.rs
@@ -32,6 +32,7 @@ use std::process::{Command, ExitStatus};
pub const SAFE_DEPENDENCIES: [&str; 15] = [
"actor-system-error",
"galloc",
+ "gprimitives",
"gear-ss58",
"gear-stack-buffer",
"gear-core-errors",
@@ -43,7 +44,6 @@ pub const SAFE_DEPENDENCIES: [&str; 15] = [
"gsdk-codegen",
"gstd-codegen",
"gsys",
- "gprimitives",
"numerated",
];
@@ -52,7 +52,7 @@ pub const SAFE_DEPENDENCIES: [&str; 15] = [
/// NOTE: Each package in this array could possibly depend
/// on the previous one, please be cautious about changing
/// the order.
-pub const STACKED_DEPENDENCIES: [&str; 13] = [
+pub const STACKED_DEPENDENCIES: [&str; 14] = [
"gcore",
"gmeta",
"gear-core",
@@ -66,6 +66,7 @@ pub const STACKED_DEPENDENCIES: [&str; 13] = [
"gear-sandbox",
"gear-core-backend",
"gear-core-processor",
+ "gear-lazy-pages-native-interface",
];
/// Packages need to be published.
@@ -73,9 +74,10 @@ pub const STACKED_DEPENDENCIES: [&str; 13] = [
/// NOTE: Each package in this array could possibly depend
/// on the previous one, please be cautious about changing
/// the order.
-pub const PACKAGES: [&str; 8] = [
+pub const PACKAGES: [&str; 9] = [
"gring",
"gear-wasm-builder",
+ "gear-node-wrapper",
"cargo-gbuild",
"gstd",
"gtest",
diff --git a/utils/crates-io/src/publisher.rs b/utils/crates-io/src/publisher.rs
index 4f9f3271c73..b200ac6818c 100644
--- a/utils/crates-io/src/publisher.rs
+++ b/utils/crates-io/src/publisher.rs
@@ -22,7 +22,7 @@ use crate::{
handler, manifest::Workspace, Manifest, PACKAGES, SAFE_DEPENDENCIES, STACKED_DEPENDENCIES,
};
use anyhow::Result;
-use cargo_metadata::{Metadata, MetadataCommand, Package};
+use cargo_metadata::{Metadata, MetadataCommand};
use std::collections::{BTreeMap, HashMap};
/// crates-io packages publisher.
@@ -62,14 +62,21 @@ impl Publisher {
/// 2. Rename version of all local packages
/// 3. Patch dependencies if needed
pub fn build(mut self, verify: bool, version: Option) -> Result {
- let index = self.index.keys().map(|s| s.as_ref()).collect::>();
+ let mut index = self
+ .index
+ .iter()
+ .map(|(k, &v)| (k.clone(), v))
+ .collect::>();
+
+ index.sort_by_key(|(_, v)| *v);
+
let mut workspace = Workspace::lookup(version)?;
let version = workspace.version()?;
- for pkg @ Package { name, .. } in &self.metadata.packages {
- if !index.contains(&name.as_ref()) {
+ for (name, _) in &index {
+ let Some(pkg) = self.metadata.packages.iter().find(|pkg| pkg.name == *name) else {
continue;
- }
+ };
if verify && crate::verify(name, &version)? {
println!("Package {}@{} already published .", &name, &version);
@@ -80,6 +87,8 @@ impl Publisher {
.insert(self.index.get(name).cloned(), handler::patch(pkg)?);
}
+ let index = index.iter().map(|(k, _)| k.as_ref()).collect();
+
workspace.complete(index)?;
// write manifests to disk.
diff --git a/utils/gring/Cargo.toml b/utils/gring/Cargo.toml
index de75d572af8..12fede7a749 100644
--- a/utils/gring/Cargo.toml
+++ b/utils/gring/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gring"
description = "Substrate keystore implementation"
+documentation = "https://docs.rs/gring"
keywords = [ "substrate", "gear", "keystore" ]
version.workspace = true
authors.workspace = true
diff --git a/utils/gnode/Cargo.toml b/utils/node-wrapper/Cargo.toml
similarity index 81%
rename from utils/gnode/Cargo.toml
rename to utils/node-wrapper/Cargo.toml
index 1f63f2610f4..3d1deb78db2 100644
--- a/utils/gnode/Cargo.toml
+++ b/utils/node-wrapper/Cargo.toml
@@ -1,12 +1,13 @@
[package]
-name = "gnode"
+name = "gear-node-wrapper"
+description = "Gear protocol node wrapper"
+documentation = "https://docs.rs/gear-node-wrapper"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
-description = "Gear protocol node wrapper"
[dependencies]
anyhow.workspace = true
diff --git a/utils/gnode/src/instance.rs b/utils/node-wrapper/src/instance.rs
similarity index 100%
rename from utils/gnode/src/instance.rs
rename to utils/node-wrapper/src/instance.rs
diff --git a/utils/gnode/src/lib.rs b/utils/node-wrapper/src/lib.rs
similarity index 100%
rename from utils/gnode/src/lib.rs
rename to utils/node-wrapper/src/lib.rs
diff --git a/utils/gnode/src/log.rs b/utils/node-wrapper/src/log.rs
similarity index 100%
rename from utils/gnode/src/log.rs
rename to utils/node-wrapper/src/log.rs
diff --git a/utils/gnode/src/node.rs b/utils/node-wrapper/src/node.rs
similarity index 100%
rename from utils/gnode/src/node.rs
rename to utils/node-wrapper/src/node.rs
diff --git a/utils/gnode/src/utils.rs b/utils/node-wrapper/src/utils.rs
similarity index 100%
rename from utils/gnode/src/utils.rs
rename to utils/node-wrapper/src/utils.rs
diff --git a/utils/gnode/tests/main.rs b/utils/node-wrapper/tests/main.rs
similarity index 90%
rename from utils/gnode/tests/main.rs
rename to utils/node-wrapper/tests/main.rs
index 48cafcb5365..136f311b2e5 100644
--- a/utils/gnode/tests/main.rs
+++ b/utils/node-wrapper/tests/main.rs
@@ -1,4 +1,4 @@
-use gnode::Node;
+use gear_node_wrapper::Node;
use std::{thread, time::Duration};
#[ignore]
diff --git a/utils/ss58/Cargo.toml b/utils/ss58/Cargo.toml
index 2c6e21f0fef..61642ce5cbf 100644
--- a/utils/ss58/Cargo.toml
+++ b/utils/ss58/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-ss58"
description = "Gear implementation ss58 address format"
+documentation = "https://docs.rs/gear-ss58"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/utils/utils/Cargo.toml b/utils/utils/Cargo.toml
index f91cf7d64d6..dd7d0118ea6 100644
--- a/utils/utils/Cargo.toml
+++ b/utils/utils/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-utils"
description = "Utils of gear network"
+documentation = "https://docs.rs/gear-utils"
version.workspace = true
authors.workspace = true
edition.workspace = true
diff --git a/utils/wasm-builder/Cargo.toml b/utils/wasm-builder/Cargo.toml
index efd1bae6178..8bf1e52cd98 100644
--- a/utils/wasm-builder/Cargo.toml
+++ b/utils/wasm-builder/Cargo.toml
@@ -1,10 +1,11 @@
[package]
name = "gear-wasm-builder"
+description = "Utility for building Gear programs"
+documentation = "https://docs.rs/gear-wasm-builder"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
-description = "Utility for building Gear programs"
include = ["build.rs", "src/**/*", "Cargo.toml", "README.md"]
readme = "README.md"
diff --git a/utils/wasm-instrument/Cargo.toml b/utils/wasm-instrument/Cargo.toml
index 75762fe7eba..5ceaf007d30 100644
--- a/utils/wasm-instrument/Cargo.toml
+++ b/utils/wasm-instrument/Cargo.toml
@@ -1,6 +1,7 @@
[package]
name = "gear-wasm-instrument"
description = "Wasm instrument library for Gear programs"
+documentation = "https://docs.rs/gear-wasm-instrument"
keywords = ["gear", "wasm"]
categories = ["wasm"]
version.workspace = true