NoneValue
Error v216 → current 26.0A required value was not found in storage when expected.
Why This Error Exists
The Drand pallet expects certain values to exist. This error indicates an attempt to use a value that was never set or has been removed. Most commonly, it occurs when querying pulses outside the available range or when the beacon hasn't been configured.
Deep Dive
This is a generic 'missing data' error. The Drand pallet stores pulses by round number, but rounds can be missing (never submitted) or pruned (too old). BeaconConfig must also be set before any pulse verification can occur.
Debugging Example
You try to fetch Pulses(99999999). Error: NoneValue. Query LastStoredRound() - returns 12345678. Round 99999999 is way beyond what's stored. Query an actual round instead.
Prevention Tips
- Always check LastStoredRound before querying specific rounds
- Verify BeaconConfig exists before write_pulse operations
- Handle missing pulse data gracefully in your application
From Chain Metadata
The value retrieved was `None` as no value was previously set.
What This Means
A required value was not found in storage when expected.
Common Causes
- Trying to access storage that hasn't been initialized
- Querying a round that doesn't exist in Pulses storage
- BeaconConfig not yet set after chain genesis
How to Fix
- Check if BeaconConfig has been initialized via set_beacon_config
- Verify the round number exists - query LastStoredRound and OldestStoredRound for valid range
- Ensure all required storage is initialized before operations
Storage to Check
Thrown By
Runtime Info
- Pallet Index
- 26
- Error Index
- 0
- Error Code
- 26.0
- Runtime Version
- v393