Skip to content
  1. May 27, 2020
  2. May 21, 2020
  3. May 20, 2020
    • Tomasz Drwięga's avatar
      Maximum extrinsic weight limit (#6067) · f74a7171
      Tomasz Drwięga authored
      * Only check single extrinsics weight limit in validate_transaction.
      
      * Add missing parameter to all pallets.
      
      * Add tests, fix default configuration.
      
      * Bump spec version.
      
      * Use AvailableBlockRation to calculate MaxExtrinsicWeight
      f74a7171
  4. May 18, 2020
  5. May 16, 2020
  6. May 15, 2020
  7. May 14, 2020
  8. May 12, 2020
  9. May 11, 2020
  10. May 09, 2020
  11. May 07, 2020
    • Shawn Tabrizi's avatar
      Update System Weights (#5888) · b0d17b02
      Shawn Tabrizi authored
      
      
      * Update system weights
      
      * Use maximum block weight for scheduler
      
      * Update offences to use full block
      
      * Move weight inside if statement
      
      * Add one read to offences `on_initialize`
      
      * Delete factory test
      
      * Revert "Delete factory test"
      
      This reverts commit 8f95aacd63a028ef1b415185b45367b4140d86fd.
      
      * Revert "Add one read to offences `on_initialize`"
      
      This reverts commit 7df7ebc73625ed79b14086f13c247d4058ee87d6.
      
      * Revert "Move weight inside if statement"
      
      This reverts commit 87277d07913a7d1868eeee85ef4673f51ee4013b.
      
      * Revert "Update offences to use full block"
      
      This reverts commit 0bbe0ce18e9419b032157f7d37dea6481078cdc0.
      
      * Use scheduler in Sudo
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      
      * Revert "Use scheduler in Sudo"
      
      This reverts commit 95bd2768dfea100bdf682cf4fe6c0f46e8e1f66e.
      
      * remove max extrinsic weight (it does nothing useful)
      
      * fix tests
      
      * introduce `sudo_unchecked_weight`
      
      * bump spec version
      
      * scheduler 80 percent of maximum
      
      * Update `set_changes_trie_config` weight
      
      * Update bin/node/runtime/src/lib.rs
      
      * Update frame/democracy/src/tests.rs
      
      * Update tests.rs
      
      * update based on feedback
      
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      b0d17b02
  12. May 06, 2020
  13. May 05, 2020
  14. Apr 30, 2020
  15. Apr 27, 2020
  16. Apr 25, 2020
    • Shawn Tabrizi's avatar
      Introduce `BlockExecutionWeight` and `ExtrinsicBaseWeight` (#5722) · 8a33c297
      Shawn Tabrizi authored
      
      
      * Introduce `BlockExectionWeight` and `ExtrinsicBaseWeight`
      
      * Add new traits everywhere
      
      * Missed one update
      
      * fix tests
      
      * Update `check_weight` logic
      
      * introduce `max_extrinsic_weight` function
      
      * fix + add tests
      
      * format nits
      
      * remove println
      
      * make test a bit more clear
      
      * Remove minimum weight
      
      * newlines left over from find/replace
      
      * Fix test, improve clarity
      
      * Fix executor tests
      
      * Extrinsic base weight same as old `MINIMUM_WEIGHT`
      
      * fix example test
      
      * Expose constants
      
      * Add test for full block with operational and normal
      
      * Initiate test environment with `BlockExecutionWeight` weight
      
      * format nit
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Replace `TransactionBaseFee` with `ExtrinsicBaseWeight` (#5761)
      
      * Replace `TransactionBaseFee` with `ExtrinsicBaseFee`
      
      * Fix stuff
      
      * Fix and make tests better
      
      * Forgot to update this test
      
      * Fix priority number in test
      
      * Remove minimum weight from merge
      
      * Fix weight in contracts
      
      * remove `TransactionBaseFee` from contract tests
      
      * Let `register_extra_weight_unchecked` go past `MaximumBlockWeight`
      
      * address feedback
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      8a33c297
  17. Apr 24, 2020
  18. Apr 23, 2020
  19. Apr 22, 2020
  20. Apr 21, 2020
    • Rakan Alhneiti's avatar
      Offchain signing (#5182) · 25751c05
      Rakan Alhneiti authored
      
      
      * New approach to offchain signing.
      
      * Use in im-online
      
      * Rewrite to use Account<T>
      
      * DRY signing.
      
      * Implement send_raw_unsigned_transaction
      
      * WiP
      
      * Expunge LocalCall
      
      * Expunge LocalCall
      
      * Fix compilation.
      
      * Solve call.
      
      * Make it compile again.
      
      * Finalize implementation.
      
      * Change CreateTransaction
      
      * Clear CreateTransaction.
      
      * Add price payload
      
      * Send raw transaction
      
      * Submit signed payload / unsigned transaction (WIP)
      
      * Supertrait requirements on T::Signature
      
      * Validate signature of payload on an unsigned transaction
      
      * Fix encoding - part 1
      
      * Make it compile.
      
      * Fix compilation of unsigned validator.
      
      * Pass price payload to the transaction
      
      * Make block number part of the signed payload
      
      * Send signed transaction
      
      * Implement all_accounts, any_account
      
      * Fix formatting
      
      * Implement submit_transaction
      
      * Submit signed transaction (ForAll, ForAny)
      
      * Fix formatting
      
      * Implement CreateSignedTransaction
      
      * Move sign and verify to AppCrypto
      
      * Sign transaction
      
      * Call `use_encoded`
      
      * Remove SubmitAndSignTransaction
      
      * Implement runtime using new SigningTypes
      
      * Adapt offchain example to changes
      
      * Fix im-online pallet
      
      * Quick fix: rename AuthorityId2
      
      * Fix offchain example tests
      
      * Add a comment on why keystore is required in unsigned transaction test
      
      * Use UintAuthorityId instead of u64
      
      * WIP
      
      * Remove IdentifyAccount from UintAuthorityId
      
      * Implement PublicWrapper type
      
      * Fix im-online tests
      
      * Fix runtime test
      
      * Bump spec version
      
      * Fix executor tests
      
      * Rename ImOnlineAuthId -> ImOnlineAuthorityId and formatting
      
      * Fix merge
      
      * Documentation
      
      * Revert u64 -> UintAuthorityId conversion
      
      * Fix string errors
      
      * Document public members in offchain module
      
      * Introduce SubmitTransaction
      
      * Update pallets to use SubmitTransaction
      
      * WIP
      
      * Use SubmitTransaction in offchain
      
      * Use `submit_unsigned_transaction`
      
      * Fix tests
      
      * Update docs
      
      * Remove SigningTypes requirement from `SendTransactionTypes`
      
      * Fix tests
      
      * Update frame/system/src/offchain.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update frame/system/src/offchain.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update frame/example-offchain-worker/src/tests.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update frame/system/src/offchain.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update frame/system/src/offchain.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Remove leftover from previous iterations
      
      * Change enum to struct
      
      * Remove public
      
      * Move mock to node/executor/tests
      
      * Cleanup test-helpers
      
      * Make `application-crypto` `std` feature internal
      
      The macros should not generate code that requires that the calling crate
      has a feature with the name `std` defined.
      
      * Revert cargo lock update
      
      * Use TestAuthorityId from common
      
      * Restore members of account to public
      
      * Tidy up imports
      
      * Fix benchmarking pallet
      
      * Add tests demonstrating ForAll, ForAny on signer
      
      * Move definition of AppCrypto
      
      in example-offchain-worker
      from tests to mod::crypto
      
      * Cleanup stray comment
      
      * Fix ValidTransaction
      
      * Re-fix CreateSignedTransaction
      
      * Address PR feedback
      
      * Add can_sign method to signer
      
      * Propagate error
      
      * Improve documentation
      
      * Fix vec! macro not available
      
      * Document SendTransactiontypes
      
      * Add some docs.
      
      * Split signing examples
      
      * Add tests for signing examples
      
      * WIP can_sign - PR feedback
      
      * WIP
      
      * Split for_any / for_all into different calls
      
      * Verify payload and signature in test
      
      * Fix can_sign implementation
      
      * Fix impl_version
      
      * Import Box from sp_std
      
      * Create issues for TODOs
      
      * Ignore doctest.
      
      * Add test directly to system. Adjust UintTypes.
      
      * Add some tests to account filtering.
      
      * Remove code samples and point to example offchain worker
      
      * Fix doc links
      
      * Fix im-online tests using signatures.
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      25751c05
  21. Apr 20, 2020
  22. Apr 17, 2020
  23. Apr 16, 2020
  24. Apr 14, 2020
  25. Apr 11, 2020
  26. Apr 08, 2020
  27. Apr 07, 2020
    • Shawn Tabrizi's avatar
      Generate Unit Tests for Benchmarks (#5527) · d3cc0514
      Shawn Tabrizi authored
      * Update to latest staking
      
      * generate tests for benchmarking
      
      * add tests, fix warnings
      
      * starting on democracy
      
      * impl_benchmark_tests
      
      * Way more readable
      
      * add test feature flag (does this work?)
      
      * Fix `successful_origin` impl
      
      * democracry benchmark tests
      
      * Fix example benchmarks, add tests
      
      * identity benchmark tests
      
      * Update im-online benchmark tests
      
      * try to add session benchmarking tests (problem with mock)
      
      * staking and timestamp
      
      * add test for treasury, issue with dynamic contains
      
      * utility
      
      * Vesting
      
      * test instead of check
      
      * hide until we figure out what is wrong
      
      * add docs
      
      * close code
      
      * Create custom mock for session-pallet-benchmarking
      
      * Use refcell pattern
      
      * make un-pub
      
      * test-linux-stable includes `runtime-benchmarks` feature
      
      * Revert "test-linux-stable includes `runtime-benchmarks` feature"
      
      This reverts commit a2dab38abd18ac3eb8a6220e4a00e687740bd38c.
      
      * run tests in `--release`
      
      * undo balance change
      
      * build wasm
      d3cc0514
  28. Apr 05, 2020
  29. Apr 04, 2020
  30. Mar 31, 2020
  31. Mar 26, 2020
    • Kian Paimani's avatar
      Offchain Phragmén BREAKING. (#4517) · 970c5f94
      Kian Paimani authored
      * Initial skeleton for offchain phragmen
      
      * Basic compact encoding decoding for results
      
      * add compact files
      
      * Bring back Self::ensure_storage_upgraded();
      
      * Make staking use compact stuff.
      
      * First seemingly working version of reduce, full of todos
      
      * Everything phragmen related works again.
      
      * Signing made easier, still issues.
      
      * Signing from offchain compile fine 😎
      
      * make compact work with staked asssignment
      
      * Evaluation basics are in place.
      
      * Move reduce into crate. Document stuff
      
      * move reduce into no_std
      
      * Add files
      
      * Remove other std deps. Runtime compiles
      
      * Seemingly it is al stable; cycle implemented but not integrated.
      
      * Add fuzzing code.
      
      * Cleanup reduce a bit more.
      
      * a metric ton of tests for staking; wip 🔨
      
      * Implement a lot more of the tests.
      
      * wip getting the unsigned stuff to work
      
      * A bit gleanup for unsigned debug
      
      * Clean and finalize compact code.
      
      * Document reduce.
      
      * Still problems with signing
      
      * We officaly duct taped the transaction submission stuff. 🤓
      
      * Deadlock with keys again
      
      * Runtime builds
      
      * Unsigned test works 🙌
      
      * Some cleanups
      
      * Make all the tests compile and stuff
      
      * Minor cleanup
      
      * fix more merge stuff
      
      * Most tests work again.
      
      * a very nasty bug in reduce
      
      * Fix all integrations
      
      * Fix more todos
      
      * Revamp everything and everything
      
      * Remove bogus test
      
      * Some review grumbles.
      
      * Some fixes
      
      * Fix doc test
      
      * loop for submission
      
      * Fix cli, keyring etc.
      
      * some cleanup
      
      * Fix staking tests again
      
      * fix per-things; bring patches from benchmarking
      
      * better score prediction
      
      * Add fuzzer, more patches.
      
      * Some fixes
      
      * More docs
      
      * Remove unused generics
      
      * Remove max-nominator footgun
      
      * Better fuzzer
      
      * Disable it 
      
      
      
      * Bump.
      
      * Another round of self-review
      
      * Refactor a lot
      
      * More major fixes in perThing
      
      * Add new fuzz file
      
      * Update lock
      
      * fix fuzzing code.
      
      * Fix nominator retain test
      
      * Add slashing check
      
      * Update frame/staking/src/tests.rs
      
      Co-Authored-By: default avatarJoshy Orndorff <[email protected]>
      
      * Some formatting nits
      
      * Review comments.
      
      * Fix cargo file
      
      * Almost all tests work again
      
      * Update frame/staking/src/tests.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Fix review comments
      
      * More review stuff
      
      * Some nits
      
      * Fix new staking / session / babe relation
      
      * Update primitives/phragmen/src/lib.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Update primitives/phragmen/src/lib.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Update primitives/phragmen/compact/src/lib.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Some doc updates to slashing
      
      * Fix derive
      
      * Remove imports
      
      * Remove unimplemented tests
      
      * nits
      
      * Remove dbg
      
      * Better fuzzing params
      
      * Remove unused pref map
      
      * Deferred Slashing/Offence for offchain Phragmen  (#5151)
      
      * Some boilerplate
      
      * Add test
      
      * One more test
      
      * Review comments
      
      * Fix build
      
      * review comments
      
      * fix more
      
      * fix build
      
      * Some cleanups and self-reviews
      
      * More minor self reviews
      
      * Final nits
      
      * Some merge fixes.
      
      * opt comment
      
      * Fix build
      
      * Fix build again.
      
      * Update frame/staking/fuzz/fuzz_targets/submit_solution.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update frame/staking/src/slashing.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update frame/staking/src/offchain_election.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Fix review comments
      
      * fix test
      
      * === 🔑
      
       Revamp without staking key.
      
      * final round of changes.
      
      * Fix cargo-deny
      
      * Update frame/staking/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      Co-authored-by: default avatarJoshy Orndorff <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      970c5f94
    • Marcio Diaz's avatar
      Benchmark Democracy Pallet (#5257) · 5a48cade
      Marcio Diaz authored
      
      
      * Add origin bounds to benchmark macro.
      
      * Add democracy benchmark.
      
      * Fix tests
      
      * Remove collective from frame/benchmarking, partially use EnsureOrigin.
      
      * Remove collective stuff.
      
      * Make previous benches compile again.
      
      * Remove comments.
      
      * Make prev bench to work again.
      
      * Add remove votes.
      
      * Add new proxy calls.
      
      * Add runtime-benchmarks guard to EnsureOrigin and implementations.
      
      * Refactor.
      
      * Add missing import.
      
      * Remove duplicated import
      
      * Fix features.
      
      * Add some missing features.
      
      * Update frame/collective/Cargo.toml
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update frame/democracy/src/benchmarking.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update frame/democracy/src/benchmarking.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Add referendums to state.
      
      * populate vecs before call
      
      * Update weight docs
      
      * More fixes and weight docs
      
      * More updates
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      5a48cade
    • Kian Paimani's avatar
      Mandate weight annotation (#5357) · a0772117
      Kian Paimani authored
      * Disallow default weight
      
      * Fix build and test
      
      * Fix tests
      
      * Fix another beloved ui test.
      
      * fix beloved trybuild tests
      
      * fix treasury?
      
      * Final test fix
      
      * Fix build
      
      * Fix another one
      
      * Fix
      
      * More doctest fix
      a0772117
  32. Mar 20, 2020
    • Bastian Köcher's avatar
      Adds new event phase `Initialization` (#5302) · 7693bd5e
      Bastian Köcher authored
      * Adds new event phase `Initialization`
      
      Every event that was deposited inside of `on_initialize` was assigned to
      the `ApplyExtrinsic(0)` phase which wasn't correct. This pr introduces a
      new phase `Initialization`. This is the new phase while initializing
      a block. After initialization we switch to `ApplyExtrinsic(N)` and at
      the end to `Finalization` as before.
      
      * Set `ExecutionPhase` in `initialize`
      
      * Increment `spec_version`
      7693bd5e
    • Peter Goodspeed-Niklaus's avatar
      Factor out can_set_code (#5317) · a9b9ca5f
      Peter Goodspeed-Niklaus authored
      * Factor out can_set_code
      
      The motivation for this feature is parachain runtime upgrades, which
      happen in two different moments: the initial call, when the checks
      should be performed, and at the actual upgrade block. It's much
      better and more maintainable to just call `can_set_code` in the
      function than to manually copy those checks.
      
      I'm not entirely thrilled with the interface, which requires
      cloning the entire code vector in `set_code`. However, it looks
      like something in `decl_module!` does not play nicely with
      references in its function arguments. If `code` has a lifetime,
      it _must_ be named, which gives us this signature.
      
      ```rust
      pub fn can_set_code<'a>(origin, code: &'a [u8]) {
      ```
      
      Unfortunately, attempting to compile with that signature generates
      a very large and baffling collection of build errors, so I decided
      to abandon that path for now.
      
      * make can_set_code non-dispatchable per PR revew
      
      Not only can we now borrow the `code` slice, but we also no longer
      need to worry about people sending a `can_set_code` transaction because
      of some misunderstanding.
      
      * move into existing impl block
      a9b9ca5f
  33. Mar 19, 2020
  34. Mar 16, 2020
    • Gavin Wood's avatar
      Refactor away from opaque hashes (#5226) · af9083f5
      Gavin Wood authored
      
      
      * System.BlockHash
      
      * Fix hash
      
      * Introduce K/V iteration in all _concat maps
      
      Also move across:
      - System.Account (blake2_128_concat)
      - Balances.Locks (twox_64_concat)
      - ElectionsPhragmen.VotesOf (twox_64_concat)
      - ElectionsPhragmen.StakeOf (twox_64_concat)
      - Identity.IdentityOf (twox_64_concat)
      - Identity.SubsOf (twox_64_concat)
      - Society.Payouts (twox_64_concat)
      - Session.NextKeys (twox_64_concat)
      - Identity.SuperOf (blake2_128_concat)
      - Session.KeyOwner (blake2_128_concat)
      - Society.SuspendedCandidates (twox_64_concat)
      - Society.SuspendedMembers (twox_64_concat)
      - Society.Vouching (twox_64_concat)
      - Society.Strikes (twox_64_concat)
      - System.EventTopics
      - Balances.Account
      
      * Build fixes
      
      * Ensure migration happens in correct order
      
      * Staking.*
      
      * Vesting.* Offences.*
      
      * Democracy.*
      
      * Babe.* Collective.*
      
      * Grandpa.*
      
      * Assets.* Benchmark.* Contracts.* Elections.* Asset.* Nicks.*
      
      Also introduce real account list
      
      * ImOnline.*
      
      * Treasury.*
      
      * Recovery.*
      
      * Final bits.
      
      * Docs
      
      * Fix one test
      
      * Fix test
      
      * All passing except the UI tests
      
      * Remove linked_map part 1
      
      * Remove linked_map
      
      * Some iterator utils for double maps.
      
      * Remove old migrations
      
      * Introduce tombstone for LinkedMap type
      
      * Migration for genesis hash
      
      * Fix build
      
      * Fix hash
      
      * Rename Map is_linked -> unused, keeping backwards compat (#5256)
      
      * Update frame/balances/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/elections/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Remove old migration code.
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update bin/node/runtime/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Fix hash
      
      * fix session migration
      
      * Fix watning
      
      Co-authored-by: default avatarJaco Greeff <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      af9083f5
  35. Mar 15, 2020
    • Bastian Köcher's avatar
      Move runtime upgrade to `frame-executive` (#5197) · 26fa6e3c
      Bastian Köcher authored
      * Move runtime upgrade to `frame-executive`
      
      Instead of storing the runtime upgraded in the space of `frame-system`,
      this moves it to `frame-executive`. We also start storing the
      `spec_version` and `impl_version` the last runtime upgrade was applied.
      
      This scheme has multiple advantages:
      - We don't need to make sure that runtime upgrade was set.
      - This will work in the future when we want to test a runtime upgrade,
      because the `on_runtime_upgrade` will be executed automatically when the
      runtime changes.
      
      * Move `LAST_RUNTIME_UPGRADE` key to `frame-executive`
      
      * Add some more documentation
      
      * Make sure `spec_version` always increases between runtime upgrades
      
      * Fix test
      
      * Upgrade `parity-multiaddr` to fix compilation
      
      * Also check if the `spec_name` changed
      
      * Remove `RuntimeUpgraded` storage entry
      
      * Don't run on genesis
      26fa6e3c
  36. Mar 10, 2020