Skip to content
  1. May 21, 2021
  2. May 20, 2021
  3. May 19, 2021
  4. May 18, 2021
  5. May 17, 2021
  6. May 15, 2021
  7. May 14, 2021
    • Keith Yeung's avatar
      Implement StorageNMap (#8635) · 033d8289
      Keith Yeung authored
      
      
      * Implement StorageNMap
      
      * Change copyright date to 2021
      
      * Rewrite keys to use impl_for_tuples instead of recursion
      
      * Implement prefix iteration on StorageNMap
      
      * Implement EncodeLike for key arguments
      
      * Rename KeyGenerator::Arg to KeyGenerator::KArg
      
      * Support StorageNMap in decl_storage and #[pallet::storage] macros
      
      * Use StorageNMap in assets pallet
      
      * Support migrate_keys in StorageNMap
      
      * Reduce line characters on select files
      
      * Refactor crate imports in decl_storage macros
      
      * Some more line char reductions and doc comment update
      
      * Update UI test expectations
      
      * Revert whitespace changes to untouched files
      
      * Generate Key struct instead of a 1-tuple when only 1 pair of key and hasher is provided
      
      * Revert formatting changes to unrelated files
      
      * Introduce KeyGeneratorInner
      
      * Add tests for StorageNMap in FRAMEv2 pallet macro
      
      * Small fixes to unit tests for StorageNMap
      
      * Bump runtime metadata version
      
      * Remove unused import
      
      * Update tests to use runtime metadata v13
      
      * Introduce and use EncodeLikeTuple as a trait bound for KArg
      
      * Add some rustdocs
      
      * Revert usage of StorageNMap in assets pallet
      
      * Make use of ext::PunctuatedTrailing
      
      * Add rustdoc for final_hash
      
      * Fix StorageNMap proc macro expansions for single key cases
      
      * Create associated const in KeyGenerator for hasher metadata
      
      * Refactor code according to comments from Basti
      
      * Add module docs for generator/nmap.rs
      
      * Re-export storage::Key as NMapKey in pallet prelude
      
      * Seal the EncodeLikeTuple trait
      
      * Extract sealing code out of key.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      033d8289
  8. May 13, 2021
    • Alexander Theißen's avatar
      contracts: Move `Schedule` from Storage to `Config` (#8773) · 1ac95b6b
      Alexander Theißen authored
      * Move `Schedule` from Storage to Config
      
      * Updated CHANGELOG
      
      * Fix nits from review
      
      * Fix migration
      
      * Print the debug buffer as tracing message
      
      * Use `debug` instead of `trace` and update README
      
      * Add additional assert to test
      
      * Rename `schedule_version` to `instruction_weights_version`
      
      * Fixed typo
      
      * Added more comments to wat fixtures
      
      * Add clarification for the `debug_message` field
      1ac95b6b
  9. May 12, 2021
  10. May 10, 2021
  11. May 08, 2021
  12. May 07, 2021
    • Peter Goodspeed-Niklaus's avatar
      Relax `BoundedVec` trait restrictions (#8749) · b6897901
      Peter Goodspeed-Niklaus authored
      * requiring users to maintain an unchecked invariant is unsafe
      
      * relax trait restrictions on BoundedVec<T, S>
      
      A normal `Vec<T>` can do many things without any particular trait
      bounds on `T`. This commit relaxes the bounds on `BoundedVec<T, S>`
      to give it similar capabilities.
      b6897901
    • Alexander Theißen's avatar
      contracts: Refactor the exec module (#8604) · 9e894ce1
      Alexander Theißen authored
      
      
      * contracts: Add default implementation for Executable::occupied_storage()
      
      * contracts: Refactor the exec module
      
      * Let runtime specify the backing type of the call stack
      
      This removes the need for a runtime check of the specified
      `MaxDepth`. We can now garantuee that we don't need to
      allocate when a new call frame is pushed.
      
      * Fix doc typo
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Review nits
      
      * Fix defect in contract info caching behaviour
      
      * Add more docs
      
      * Fix wording and typos
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      9e894ce1
    • Peter Goodspeed-Niklaus's avatar
      `#[derive(MaxEncodedLen)]` (#8737) · 17a1997d
      Peter Goodspeed-Niklaus authored
      * impl #[derive(MaxEncodedLen)] for structs
      
      * impl #[derive(MaxEncodedLen)] for enums, unions
      
      * break long comments onto multiple lines
      
      * add doc for public item
      
      * add examples to macro documentation
      
      * move MaxEncodedLen macro docs, un-ignore doc-tests
      17a1997d
  13. May 06, 2021
  14. May 05, 2021
  15. May 04, 2021
  16. May 03, 2021
    • Bastian Köcher's avatar
      Rework inherent data client side (#8526) · 2675741a
      Bastian Köcher authored
      
      
      * Lol
      
      * Yeah
      
      * Moare
      
      * adaasda
      
      * Convert AURA to new pallet macro
      
      * AURA: Switch to `CurrentSlot` instead of `LastTimestamp`
      
      This switches AURA to use `CurrentSlot` instead of `LastTimestamp`.
      
      * Add missing file
      
      * Update frame/aura/src/migrations.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Remove the runtime side provide inherent code
      
      * Use correct weight
      
      * Add TODO
      
      * Remove the Inherent from AURA
      
      * 🤦
      
      
      
      * Remove unused stuff
      
      * Update primitives authorship
      
      * Fix babe inherent data provider
      
      * Fix consensus-uncles
      
      * Fix BABE
      
      * Do some further changes to authorship primitives... :D
      
      * More work
      
      * Make it compile the happy path
      
      * Make it async!
      
      * Take hash
      
      * More stuff
      
      * Hacks
      
      * Revert "Hacks"
      
      This reverts commit cfffad88668cfdebf632a59c4fbfada001ef8251.
      
      * Fix
      
      * Make `execute_block` return the final block header
      
      * Move Aura digest stuff
      
      * Make it possible to disable equivocation checking
      
      * Fix fix fix
      
      * Some refactorings
      
      * Comment
      
      * Fixes fixes fixes
      
      * More cleanups
      
      * Some love
      
      * Better love
      
      * Make slot duration being exposed as `Duration` to the outside
      
      * Some slot info love
      
      * Add `build_aura_worker` utility function
      
      * Copy copy copy
      
      * Some stuff
      
      * Start fixing pow
      
      * Fix pow
      
      * Remove some bounds
      
      * More work
      
      * Make grandpa work
      
      * Make slots use `async_trait`
      
      * Introduce `SharedData`
      
      * Add test and fix bugs
      
      * Switch to `SharedData`
      
      * Make grandpa tests working
      
      * More Babe work
      
      * Make grandpa work
      
      * Introduce `SharedData`
      
      * Add test and fix bugs
      
      * Switch to `SharedData`
      
      * Make grandpa tests working
      
      * More Babe work
      
      * Make it async
      
      * Fix fix
      
      * Use `async_trait` in sc-consensus-slots
      
      This makes the code a little bit easier to read and also expresses that
      there can always only be one call at a time to `on_slot`.
      
      * Make grandpa tests compile
      
      * More Babe tests work
      
      * Fix network test
      
      * Start fixing service test
      
      * Finish service-test
      
      * Fix sc-consensus-aura
      
      * Fix fix fix
      
      * More fixes
      
      * Make everything compile *yeah*
      
      * Make manual-seal compile
      
      * More fixes
      
      * Start fixing Aura
      
      * Fix Aura tests
      
      * Fix Babe tests
      
      * Make everything compile
      
      * Move code around and switch to async_trait
      
      * Fix Babe
      
      * Docs docs docs
      
      * Move to FRAME
      
      * Fix fix fix
      
      * Make everything compile
      
      * Last cleanups
      
      * Fix integration test
      
      * Change slot usage of the timestamp
      
      * We really need to switch to `impl-trait-for-tuples`
      
      * Update primitives/inherents/src/lib.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Update primitives/inherents/src/lib.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Update primitives/inherents/src/lib.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Some extra logging
      
      * Remove dbg!
      
      * Update primitives/consensus/common/src/import_queue/basic_queue.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      2675741a
    • Peter Goodspeed-Niklaus's avatar
      Multi-phase elections solution resubmission (#8290) · de5d0b23
      Peter Goodspeed-Niklaus authored
      
      
      * not climate
      
      * explain the intent of the bool in the unsigned phase
      
      * remove glob imports from unsigned.rs
      
      * add OffchainRepeat parameter to ElectionProviderMultiPhase
      
      * migrate core logic from #7976
      
      This is a much smaller diff than that PR contained, but I think
      it contains all the essentials.
      
      * improve formatting
      
      * fix test build failures
      
      * cause test to pass
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * collapse imports
      
      * threshold acquired directly within try_acquire_offchain_lock
      
      * add test of resubmission after interval
      
      * add test that ocw can regenerate a failed cache when resubmitting
      
      * ensure that OCW solutions are of the correct round
      
      This should help prevent stale cached solutions from persisting
      past the election for which they are intended.
      
      * add test of pre-dispatch round check
      
      * use `RawSolution.round` instead of redundantly externally
      
      * unpack imports
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * rename `OFFCHAIN_HEAD_DB` -> `OFFCHAIN_LOCK`
      
      * rename `mine_call` -> `mine_checked_call`
      
      * eliminate extraneous comma
      
      * check cached call is current before submitting
      
      * remove unused consts introduced by bad merge.
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * resubmit when our solution beats queued solution
      
      * clear call cache if solution fails to submit
      
      * use local storage; clear on ElectionFinalized
      
      * Revert "use local storage; clear on ElectionFinalized"
      
      This reverts commit 4b46a9388532d0c09b337dc7c7edf76044a6cee8.
      
      * BROKEN: try to filter local events in OCW
      
      * use local storage; simplify score fetching
      
      * fix event filter
      
      * mutate storage instead of setting it
      
      * StorageValueRef::local isn't actually implemented yet
      
      * add logging for some events of interest in OCW miner
      
      * rename kill_solution -> kill_ocw_solution to avoid ambiguity
      
      * defensive err instead of unreachable given unreachable code
      
      * doc punctuation
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * distinguish miner errors between "out of date" and "call invalid"
      
      * downgrade info logs -> debug
      
      * ensure encoded call decodes as a call
      
      * fix semantics of validation of pre-dispatch failure for wrong round
      
      * move score check within `and_then`
      
      * add test that offchain workers clear their cache after election
      
      * ensure that bad ocw submissions are not retained for resubmission
      
      * simplify fn ocw_solution_exists
      
      * add feasibility check when restoring cached solution
      
      should address https://github.com/paritytech/substrate/pull/8290/files#r617533358
      
      
      
      restructures how the checks are sequenced, which simplifies legibility.
      
      * simplify checks again
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      de5d0b23