Crates.io | cw-paginate-storage |
lib.rs | cw-paginate-storage |
version | 2.6.0 |
source | src |
created_at | 2023-07-03 10:53:50.061276 |
updated_at | 2024-11-07 23:38:37.612519 |
description | A package for paginating cosmwasm maps. |
homepage | |
repository | https://github.com/DA0-DA0/dao-contracts |
max_upload_size | |
id | 906887 |
size | 20,007 |
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.
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,
)?)
}