Skip to content
  1. Jan 05, 2021
  2. Jan 04, 2021
    • thiolliere's avatar
      fix template (#7823) · 51028310
      thiolliere authored
      51028310
    • Alexander Theißen's avatar
      contracts: Lazy storage removal (#7740) · 3ba8fdfc
      Alexander Theißen authored
      * Do not evict a contract from within a call stack
      
      We don't want to trigger contract eviction automatically when
      a contract is called. This is because those changes can be
      reverted due to how storage transactions are used at the moment.
      More Information:
      https://github.com/paritytech/substrate/issues/6439#issuecomment-648754324
      
      It can be re-introduced once the linked issue is resolved. In the meantime
      `claim_surcharge` must be called to evict a contract.
      
      * Lazily delete storage in on_initialize instead of when removing the contract
      
      * Add missing documentation of new error
      
      * Make Module::claim_surcharge public
      
      It being the only dispatchable that is private is an oversight.
      
      * review: Add final newline
      
      * review: Simplify assert statement
      
      * Add test that checks that partial remove of a contract works
      
      * Premote warning to error
      
      * Added missing docs for seal_terminate
      
      * Lazy deletion should only take AVERAGE_ON_INITIALIZE_RATIO of the block
      
      * Added informational about the lazy deletion throughput
      
      * Avoid lazy deletion in case the block is already full
      
      * Prevent queue decoding in case of an already full block
      
      * Add test that checks that on_initialize honors block limits
      3ba8fdfc
    • Max Inden's avatar
      *: Update to libp2p v0.33.0 (#7759) · f0b99dd2
      Max Inden authored
      * *: Update to libp2p v0.33.0
      
      * client/network: Consistently track request arrival time
      
      With https://github.com/libp2p/rust-libp2p/pull/1886/ one is guaranteed
      to receive either a `ResponseSent` or a `InboundFailure` event for each
      received inbound request via `RequestResponseEvent::Message`. Given this
      guarantee there is no need to track arrival times in a best-effort
      manner and thus there is no need to use a LRU cache for arrival times.
      
      * client/offchain: Adjust to PeerId API changes
      f0b99dd2
    • Alexander Theißen's avatar
      contracts: Allow runtime authors to define a chain extension (#7548) · 51c37ecc
      Alexander Theißen authored
      * Make host functions return TrapReason
      
      This avoids the need to manually store any trap reasons
      to the `Runtime` from the host function. This adds the following
      benefits:
      
      * It properly composes with the upcoming chain extensions
      * Missing to set a trap value is now a compile error
      
      * Add chain extension
      
      The chain extension is a way for the contract author to add new
      host functions for contracts to call.
      
      * Add tests for chain extensions
      
      * Fix regression in set_rent.wat fixture
      
      Not all offsets where properly updated when changing the fixtures
      for the new salt on instantiate.
      
      * Pre-charge a weight amount based off the specified length
      
      * Improve fn write docs
      
      * Renamed state to phantom
      
      * Fix typo
      51c37ecc
    • Bastian Köcher's avatar
      Happy new year (#7814) · e3e651f7
      Bastian Köcher authored
      * Happy new year
      
      Updates the copyright years and fixes wrong license headers.
      
      * Fix the template
      
      * Split HEADER into HEADER-APACHE & HEADER-GPL
      e3e651f7
  3. Jan 03, 2021
    • André Silva's avatar
      Cleanup some warnings (#7816) · e367d57b
      André Silva authored
      * client: cleanup redundant semicolon warnings
      
      * grandpa: remove usage of deprecated compare_and_swap
      e367d57b
    • Bastian Köcher's avatar
      Fix ss58check test when executed with other tests (#7815) · 672a2912
      Bastian Köcher authored
      There was a bug that could make other ss58 tests fail when being
      executed with this one in parallel. This test changes the default ss58
      version and if other tests are run at the time the default version is
      changed, they would fail. To fix this problem, we now run the actual
      test as a new process.
      672a2912
  4. Jan 01, 2021
  5. Dec 30, 2020
  6. Dec 29, 2020
  7. Dec 28, 2020
  8. Dec 27, 2020
  9. Dec 24, 2020
    • thiolliere's avatar
      Add `pallet` attribute macro to declare pallets (#6877) · 6dfad092
      thiolliere authored
      
      
      * rename system Config to system Trait.
      
      command used:
      ```
      find frame/ bin/ test-utils/ utils/ -name *.rs -exec sed -i 's/system::Trait>::/system::Config>::/g' {} \;
      find frame/ bin/ test-utils/ utils/ -name *.rs -exec sed -i 's/impl frame_system::Trait for /impl frame_system::Config for /g' {} \;
      find frame/ bin/ test-utils/ utils/ -name *.rs -exec sed -i 's/impl system::Trait for /impl system::Config for /g' {} \;
      ```
      plus some manual ones especially for frame-support tests and frame-system
      
      * make construct_runtime handle Pallet and Module
      
      pallets can now be implemented on struct named Pallet or Module, both
      definition are valid.
      This is because next macro will generate only Pallet placeholder.
      
      * introduce pallet attribute macro
      
      currently just with tests, frame_system and other example hasn't been
      upgraded
      
      * allow to print some upgrade helper from decl_storage
      
      * Improved error msg, typo.
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Improved error msg, typo.
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Improved error message on unexpected attributes + ui test
      
      * add test for transactional
      
      * various typo
      
      * some tips when spans are lost
      
      * allow pallet to depend on other pallet instances
      
      * make event type metadata consistent with call and constant
      
      * error messages
      
      * ignore doc example
      
      * fix pallet upgrade template
      
      * fixup
      
      * fix doc
      
      * fix indentation
      
      * Apply suggestions code formatting
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * some renames + fix compilation
      
      * remove unsupported genesis config type alias
      
      * merge fixup
      
      * fix ui tests
      
      * additional doc
      
      * implement StorageInstance with new syntax
      
      * fix line width
      
      * fix doc: because pallet doc goes below reexport doc
      
      * Update frame/support/procedural/src/pallet/parse/event.rs
      
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update frame/support/test/tests/pallet_ui.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * improve doc as suggested
      
      * revert construct_runtime Pallet part.
      
      This revert the changes on construct_runtime. Now construct_runtime is
      unchanged and instead pallet macro create a type alias
      `type Module<..> = Pallet<..>` to be used by construct_runtime
      
      * refactor with less intricated code
      
      * fix ui test with new image
      
      * fix ui tests
      
      * add minor tests
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      6dfad092
  10. Dec 23, 2020
  11. Dec 22, 2020
  12. Dec 21, 2020
    • Bruno Škvorc's avatar
      Typo fix: eror => error (#7773) · 29498f4c
      Bruno Škvorc authored
      29498f4c
    • Bastian Köcher's avatar
      Make it possible to calculate the storage root as often as you want (#7714) · ce97b6e5
      Bastian Köcher authored
      * Make it possible to calculate the storage as often as you want
      
      So, until now each Substrate based blockchain has calculated the storage
      root once, at the end of the block. Now there is Frontier that wants to
      calculate some intermediate storage root. However this failed on block
      import. The problem with that was the extrinsics root. When building the
      block we stored `Default::default()` as extrinsics root, because yeah,
      we don't know the extrinsics root before finishing the block. At the end
      this extrinsics root was then calculated. But on block import we passed
      the already known extrinsics root. This was no problem, as we removed
      this value at the end of the block. However when you all the storage
      root in between, that changes the storage root between block building
      and block import.
      
      This pr changes this behavior. It removes the `ExtrinsicsRoot` storage
      entry and also doesn't pass it anymore to `System::initialize`. By doing
      it, we remove the difference in the storage and fix the storage root mismatch.
      
      * Fix bug with incorrectly calculating the extrinscs root
      
      * Review feedback
      ce97b6e5
    • honeywest's avatar
      optimize biguint div closure (#7754) · 5ed88684
      honeywest authored
      * optimize biguint div closure
      
      * optimize biguint sub and fix note
      
      * change and add biguint split test
      
      * add biguint div_unit test
      
      * update biguint sub v to v1
      
      * add biguint shift_check
      5ed88684
    • Kian Paimani's avatar
      Allow Staking tests to run with session length other than 1 (#7719) · bfb76281
      Kian Paimani authored
      
      
      * fix periodic session
      
      * Allow staking tests to run with session lengths other than 1.
      
      * Update frame/staking/src/mock.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Fix all tests with session length 5.
      
      * Test for active != current
      
      * Better doc
      
      * Update frame/staking/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * also set the timestamp properly.
      
      * trigger CI
      
      * Revert "trigger CI"
      
      This reverts commit 0f254944cdad848aa6e63bd8a618db95447a8e68.
      
      * Update frame/staking/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      bfb76281
    • honeywest's avatar
      update substrate to sc in docs (#7767) · 7d45c173
      honeywest authored
      7d45c173
  13. Dec 19, 2020
  14. Dec 18, 2020
    • Bastian Köcher's avatar
      104747da
    • Bastian Köcher's avatar
      Update common block in sync after importing blocks of a peer, please read UPDATE (#7733) · d3c7a99d
      Bastian Köcher authored
      
      
      * Update common block in sync after importing blocks of a peer
      
      This updates the sync code to update the common block of a peer, after
      we have imported blocks from this peer. This fixes a bug for when we are
      connected to one or more nodes that are doing a full sync as our node.
      Nodes in full sync will not announce new blocks, as we don't send import
      notifications on full sync. The problem as now that we were connected to
      some peer that reported some low number as its best and we tried to sync
      these blocks. But, as we did not update the common block of this peer,
      we would sync these blocks over and over again. Being captured in some
      time warp.
      The solution to this problem is that we increase the common number as we
      import blocks from this peer.
      
      * Test
      
      * Test name..
      
      * Fix test
      
      * Cleanup some code and write some new regression test
      
      * Implement the ancestor search
      
      * Check that the common number is smaller than the last finalized block
      
      * Update client/network/src/protocol/sync.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Update client/network/src/protocol/sync.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Update client/network/src/protocol/sync.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Change the way we build the status messages
      
      * Start some new test...
      
      * Finish test
      
      * Rename test
      
      * Update client/network/src/protocol.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      d3c7a99d
  15. Dec 17, 2020