Summary
page returns whole RegistryEntry values, each carrying its full keys_xdr vector. The guard on
limit bounds the number of entries but not their size, so a page of entries with large manifests
can exceed a transaction's read limits. A keeper hitting that gets a failure the registry never
warned about.
The point of this issue is to find where the ceiling actually is, not to guess at it.
Acceptance Criteria
Tech Stack
Rust (edition 2021, toolchain 1.93.0 pinned in rust-toolchain.toml), soroban-sdk 27.0.4,
target wasm32v1-none. Build with stellar contract build, never cargo build. Tests are
#[cfg(test)] modules on Env::default(); run them with cargo test --all.
Summary
pagereturns wholeRegistryEntryvalues, each carrying its fullkeys_xdrvector. The guard onlimitbounds the number of entries but not their size, so a page of entries with large manifestscan exceed a transaction's read limits. A keeper hitting that gets a failure the registry never
warned about.
The point of this issue is to find where the ceiling actually is, not to guess at it.
Acceptance Criteria
keys_xdrvectors and pages through them atthe maximum permitted
limit.page's rustdoc as concrete guidance on choosinglimit.limitcan exceed the budget, a follow-up issue is opened for the fix — thisissue only establishes the number.
Tech Stack
Rust (edition 2021, toolchain 1.93.0 pinned in
rust-toolchain.toml),soroban-sdk27.0.4,target
wasm32v1-none. Build withstellar contract build, nevercargo build. Tests are#[cfg(test)]modules onEnv::default(); run them withcargo test --all.