3 releases (stable)
2.3.0 | Oct 18, 2023 |
---|---|
2.2.0 | Jul 9, 2023 |
0.1.0 | Jul 3, 2023 |
#1731 in Magic Beans
982 downloads per month
Used in 18 crates
(9 directly)
20KB
437 lines
CosmWasm Map Pagination
This package provides generic convienence methods for paginating keys
and values in a CosmWasm Map
or SnapshotMap
. If you use these
methods to paginate the maps in your contract you may make larry0x
happy.
Example
Given a map like:
use cw_storage_plus::Map;
pub const ITEMS: Map<String, String> = Map::new("items");
You can use this package to write a query to list it's contents like:
use cosmwasm_std::{Deps, Binary, to_binary, StdResult};
use cw_storage_plus::Map;
use cw_paginate_storage::paginate_map;
pub const ITEMS: Map<String, String> = Map::new("items");
pub fn query_list_items(
deps: Deps,
start_after: Option<String>,
limit: Option<u32>,
) -> StdResult<Binary> {
to_binary(&paginate_map(
deps,
&ITEMS,
start_after,
limit,
cosmwasm_std::Order::Descending,
)?)
}
Dependencies
~4.5–6MB
~133K SLoC