#module #query #message #cosmwasm

neutron-std

Standard library for Neutron with CosmWasm support included. This package is a modified copy of the osmosis package - https://github.com/osmosis-labs/osmosis-rust/tree/main/packages/osmosis-std

4 releases (0 unstable)

4.2.2-rc Sep 3, 2024
4.0.1-rc.1 Jun 26, 2024
4.0.0-rc.3 Jun 25, 2024
1.0.4-rc.1 Aug 13, 2023

#385 in #query

Download history 461/week @ 2024-06-26 134/week @ 2024-07-03 8/week @ 2024-07-10 26/week @ 2024-07-24 206/week @ 2024-07-31 151/week @ 2024-08-07 1/week @ 2024-08-21 207/week @ 2024-08-28 240/week @ 2024-09-04 158/week @ 2024-09-11 80/week @ 2024-09-18 51/week @ 2024-09-25 85/week @ 2024-10-02 92/week @ 2024-10-09

345 downloads per month

MIT/Apache

1.5MB
38K SLoC

neutron-std

neutron-std on crates.io Docs

Neutron's proto-generated types and helpers for interacting with the appchain. Compatible with CosmWasm contract.

CosmWasm stargate message and stargate query

You can find all types and querier generated from Neutron's protobuf in their respective module in neutron_std.

Executing Neutron messages from CosmWasm Contract

use cosmwasm_std::{CosmosMsg, Response, Env};
use neutron_std::types::osmosis::tokenfactory::v1beta1::MsgCreateDenom;

# type ContractError = cosmwasm_std::StdError;
// ..

pub fn try_create_denom(env: Env, subdenom: String) -> Result<Response, ContractError> {
    let sender = env.contract.address.into();

    // construct message and convert them into cosmos message
    // (notice `CosmosMsg` type and `.into()`)
    let msg_create_denom: CosmosMsg = MsgCreateDenom { sender, subdenom }.into();

    Ok(Response::new()
        .add_message(msg_create_denom)
        .add_attribute("method", "try_create_denom"))
}

Dependencies

~18MB
~370K SLoC