-
Notifications
You must be signed in to change notification settings - Fork 40
Description
Summary
New devs starting from NeutronTemplate often end up on cosmwasm-std 2.2.x while neutron-sdk currently targets 2.0.x. This produces dependency duplication and trait/type errors that look like “SDK doesn’t work on NeutronTemplate.” Additionally, docs don’t provide an endorsed path for randomness/“VRF” on Neutron (ICQ/ICA patterns, commit-reveal, or IBC to a provider chain).
Problem
No visible version matrix → easy to get cw-std ≠ neutron-sdk minor.
Template doesn’t pin or check the exact cw-std minor expected by neutron-sdk.
No canonical randomness patterns page; developers assume they need “VRF module” and get blocked.
Evidence
neutron-sdk 0.11.x depends on cosmwasm-std 2.0.x (e.g., 2.0.4).
Docs.rs
Current Template docs don’t show versions; repo doesn’t surface a matrix.
Neutron Documentation
Viable cross-chain randomness exists (e.g., Secret VRF via IBC), but not documented in Neutron docs.
docs.scrt.network
Requested changes
Publish a version matrix (and keep it in one source of truth):
neutron-sdk ↔ cosmwasm-std minor ↔ neutron-std ↔ rust-optimizer image tag.
Pin Template to the matrix + add CI checks:
cargo tree -e features gate to fail on duplicated cosmwasm-std majors/minors.
Optional: a preflight script that prints the resolved versions.
Add a “Randomness on Neutron” doc:
Patterns: commit-reveal, ICQ to provider (e.g., Secret VRF), ICA to oracle, why “blockhash” is weak, and when each is acceptable.
Provide a minimal ICQ sample contract that queries randomness and a frontend demo.
Template snippets:
Example Cargo.toml showing cosmwasm-std = "2.0.4" with ["stargate"] when using neutron-sdk 0.11.
A commented variant for when neutron-sdk upgrades to cw-std 2.2.x or 3.x.
Impact
Prevents newcomers from chasing phantom “SDK incompatibility.”
Reduces support load.
Makes interchain features (ICQ/ICA) and randomness approachable.
Acceptance criteria
A page under SDK & Developer Tools showing the matrix and upgrade notes.
Neutron Documentation
NeutronTemplate updated to pinned, compatible deps; CI fails on version skew.
Neutron Documentation
A tutorial that compiles and runs: “ICQ Randomness Fetch (Secret VRF)” with contract + test.