#cosmwasm #query #order #limit-order #unpack #contracts #range

uju-index-query

A package for common utilities for CosmWasm 2.0 contracts

1 unstable release

0.1.0 Sep 12, 2024

#10 in #limit-order

BUSL-1.1

8KB
124 lines

sg-index-query

sg-index-query is a Rust crate providing a QueryOptions struct for use in CosmWasm smart contracts. It allows you to specify query parameters such as limit, order, and range.

Features

  • QueryOptions struct for specifying query parameters such as limit, order, and range.
  • unpack function for converting QueryOptions into QueryOptionsInternal, which is used for range queries in cw_storage_plus.

Usage

First, add the following to your Cargo.toml:

[dependencies]
sg-index-query = "0.1.0"

Then, you can use the QueryOptions struct in your code:

use sg_index_query::QueryOptions;

let query_options = QueryOptions::<String>::default();

You can specify query parameters like so:

use sg_index_query::{QueryOptions, QueryBound};

let query_options = QueryOptions {
    descending: Some(true),
    limit: Some(20),
    min: Some(QueryBound::Inclusive("test".to_string())),
    max: Some(QueryBound::Exclusive("test2".to_string())),
};

Then, you can unpack the QueryOptions into QueryOptionsInternal:

let query_options_internal = query_options.unpack(&|offset: &String| offset.to_string(), None, None);

Dependencies

~4.5–7.5MB
~158K SLoC