Skip to content
  • Gavin Wood's avatar
    Clean up random seed to make a bit more flexible (#2456) · adba8991
    Gavin Wood authored and Sergey Pepyakin's avatar Sergey Pepyakin committed
    
    
    * Reformulate random seed to be more random
    
    - First 80 random values come from cycling the incomplete series (
      instead of filling with zeroes)
    - Calculate random material each usage (use a single amalgamated
      ring buffer to store them for avoiding 81 lookups each time)
    - Mutate inputs by hashing each with:
      - its index (into the 81)
      - an additional "subject" key provided by caller
    
    This keeps the final output low-influence while still allowing
    it to be used as the seed to independent contexts. (Hashing the
    result to give the final seed is no better than using parent_hash).
    
    * Docs
    
    * Bump runtime
    
    * Update notes
    
    * Remove feature(alloc)
    
    * Update srml/system/src/lib.rs
    
    Co-Authored-By: default avatargavofyork <[email protected]>
    adba8991