From c5db4e5ad6a6ad2b5879cb88976f8a2d3e868902 Mon Sep 17 00:00:00 2001 From: Jeeyong Um Date: Thu, 1 Aug 2024 03:46:04 +0900 Subject: [PATCH] cosmos-sdk-proto: add support for `no_std` (#478) --- cosmos-sdk-proto/Cargo.toml | 7 ++++--- cosmos-sdk-proto/src/lib.rs | 3 +++ cosmos-sdk-proto/src/traits.rs | 3 ++- cosmrs/Cargo.toml | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/cosmos-sdk-proto/Cargo.toml b/cosmos-sdk-proto/Cargo.toml index 2c66ba03..329e404d 100644 --- a/cosmos-sdk-proto/Cargo.toml +++ b/cosmos-sdk-proto/Cargo.toml @@ -16,8 +16,8 @@ edition = "2021" rust-version = "1.72" [dependencies] -prost = "0.13" -prost-types = "0.13" +prost = { version = "0.13", default-features = false } +prost-types = { version = "0.13", default-features = false } tendermint-proto = "0.38" # Optional dependencies @@ -25,7 +25,8 @@ tonic = { version = "0.12", optional = true, default-features = false, features [features] default = ["grpc-transport"] -grpc = ["tonic"] +std = ["prost/std", "prost-types/std"] +grpc = ["std", "tonic"] grpc-transport = ["grpc", "tonic/transport"] cosmwasm = [] diff --git a/cosmos-sdk-proto/src/lib.rs b/cosmos-sdk-proto/src/lib.rs index 53246eaa..f866a5ff 100644 --- a/cosmos-sdk-proto/src/lib.rs +++ b/cosmos-sdk-proto/src/lib.rs @@ -10,6 +10,9 @@ )] #![forbid(unsafe_code)] #![warn(trivial_casts, trivial_numeric_casts, unused_import_braces)] +#![cfg_attr(not(feature = "std"), no_std)] + +extern crate alloc; pub mod traits; mod type_names; diff --git a/cosmos-sdk-proto/src/traits.rs b/cosmos-sdk-proto/src/traits.rs index 1484fa50..a9ac8722 100644 --- a/cosmos-sdk-proto/src/traits.rs +++ b/cosmos-sdk-proto/src/traits.rs @@ -2,8 +2,9 @@ pub use prost::{Message, Name}; +use alloc::{string::String, vec::Vec}; +use core::str::FromStr; use prost::EncodeError; -use std::str::FromStr; /// Extension trait for [`Message`]. pub trait MessageExt: Message { diff --git a/cosmrs/Cargo.toml b/cosmrs/Cargo.toml index 01b6bf5a..081b2dd3 100644 --- a/cosmrs/Cargo.toml +++ b/cosmrs/Cargo.toml @@ -12,7 +12,7 @@ edition = "2021" rust-version = "1.72" [dependencies] -cosmos-sdk-proto = { version = "=0.23.0-pre", default-features = false, path = "../cosmos-sdk-proto" } +cosmos-sdk-proto = { version = "=0.23.0-pre", default-features = false, features = ["std"], path = "../cosmos-sdk-proto" } ecdsa = "0.16" eyre = "0.6" k256 = { version = "0.13", default-features = false, features = ["ecdsa", "sha256"] }