8 releases (stable)
2.6.0 | Nov 7, 2024 |
---|---|
2.5.0 | Oct 31, 2024 |
2.4.2 | Jul 22, 2024 |
2.3.0 | Oct 18, 2023 |
0.1.0 | Jul 3, 2023 |
#3 in #paginate
581 downloads per month
Used in 12 crates
(5 directly)
21KB
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
~5–6.5MB
~143K SLoC