7 releases (stable)
new 2.5.0 | Oct 31, 2024 |
---|---|
2.4.2 | Jul 22, 2024 |
2.3.0 | Oct 18, 2023 |
2.2.0 | Jul 9, 2023 |
0.1.0 | Jul 3, 2023 |
#40 in #cosmwasm
849 downloads per month
Used in 13 crates
(5 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_json_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_json_binary(&paginate_map(
deps,
&ITEMS,
start_after,
limit,
cosmwasm_std::Order::Descending,
)?)
}
Dependencies
~4–6MB
~122K SLoC