1. Jan 07, 2021
    • Shawn Tabrizi's avatar
      Better Handle Dead Accounts in Balances (#7843) · 93ecff9b
      Shawn Tabrizi authored
      
      
      * Don't mutate storage when account is dead and should stay dead
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * more concrete storage noop
      
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      93ecff9b
    • Pierre Krieger's avatar
      Rework priority groups, take 2 (#7700) · 779c4f86
      Pierre Krieger authored
      
      
      * Rework priority groups
      
      * Broken tests fix
      
      * Fix warning causing CI to fail
      
      * [Hack] Try restore backwards-compatibility
      
      * Fix peerset bug
      
      * Doc fixes and clean up
      
      * Error on state mismatch
      
      * Try debug CI
      
      * CI debugging
      
      * [CI debug] Can I please see this line
      
      * Revert "[CI debug] Can I please see this line"
      
      This reverts commit 4b7cf7c1511f579cd818b21d46bd11642dfac5cb.
      
      * Revert "CI debugging"
      
      This reverts commit 9011f1f564b860386dc7dd6ffa9fc34ea7107623.
      
      * Fix error! which isn't actually an error
      
      * Fix Ok() returned when actually Err()
      
      * Tweaks and fixes
      
      * Fix build
      
      * Peerset bugfix
      
      * [Debug] Try outbound GrandPa slots
      
      * Another bugfix
      
      * Revert "[Debug] Try outbound GrandPa slots"
      
      This reverts commit d175b9208c088faad77d9f0ce36ff6f48bd92dd3.
      
      * [Debug] Try outbound GrandPa slots
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarMax Inden <[email protected]>
      
      * Use consts for hardcoded peersets
      
      * Revert "Try debug CI"
      
      This reverts commit 62c4ad5e79c03d561c714a008022ecac463a597e.
      
      * Renames
      
      * Line widths
      
      * Add doc
      
      Co-authored-by: default avatarMax Inden <[email protected]>
      779c4f86
    • Bastian Köcher's avatar
      Subkey should not import the entire world. (#7845) · 94bb119e
      Bastian Köcher authored
      There is no reason for subkey to import the default Substrate node to
      support a feature that would only be usable for the Substrate node.
      Subkey itself should be more the default key management binary for
      Substrate related chains. If certain chains require some special
      functionality, they can easily stick together their own "my-chain-key".
      94bb119e
  2. Jan 06, 2021
  3. Jan 05, 2021
    • Max Inden's avatar
      client/network: Use request response for block requests (#7478) · 3f629f74
      Max Inden authored
      
      
      * client/network: Add scaffolding for finality req to use req resp
      	#sc
      
      * client/network/src/finality_requests: Remove
      
      * client/network/src/behaviour: Pass request id down to sync
      
      * client/network: Use request response for block requests
      
      * client/network: Move handler logic into *_*_handler.rs
      
      * client/network: Track ongoing finality requests in protocol.rs
      
      * client/network: Remove commented out finalization initialization
      
      * client/network: Add docs for request handlers
      
      * client/network/finality_request_handler: Log errors
      
      * client/network/block_request_handler: Log errors
      
      * client/network: Format
      
      * client/network: Handle block request failure
      
      * protocols/network: Fix tests
      
      * client/network/src/behaviour: Handle request sending errors
      
      * client/network: Move response handling into custom method
      
      * client/network/protocol: Handle block response errors
      
      * client/network/protocol: Remove tracking of obsolete requests
      
      * client/network/protocol: Remove block request start time tracking
      
      This will be handled generically via request-responses.
      
      * client/network/protocol: Refactor on_*_request_started
      
      * client/network: Pass protocol config instead of protocol name
      
      * client/network: Pass protocol config in tests
      
      * client/network/config: Document request response configs
      
      * client/network/src/_request_handler: Document protocol config gen
      
      * client/network/src/protocol: Document Peer request values
      
      * client/network: Rework request response to always use oneshot
      
      * client/network: Unified metric reporting for all request protocols
      
      * client/network: Move protobuf parsing into protocol.rs
      
      * client/network/src/protocol: Return pending events after poll
      
      * client/network: Improve error handling and documentation
      
      * client/network/behaviour: Remove outdated error types
      
      * Update client/network/src/block_request_handler.rs
      
      Co-authored-by: default avatarAshley <[email protected]>
      
      * Update client/network/src/finality_request_handler.rs
      
      Co-authored-by: default avatarAshley <[email protected]>
      
      * client/network/protocol: Reduce reputation on timeout
      
      * client/network/protocol: Refine reputation changes
      
      * client/network/block_request_handler: Set and explain queue length
      
      * client/service: Deny block requests when light client
      
      * client/service: Fix role matching
      
      * client: Enforce line width
      
      * client/network/request_responses: Fix unit tests
      
      * client/network: Expose time to build response via metrics
      
      * client/network/request_responses: Fix early connection closed error
      
      * client/network/protocol: Fix line length
      
      * client/network/protocol: Disconnect on most request failures
      
      * client/network/protocol: Disconnect peer when oneshot is canceled
      
      * client/network/protocol: Disconnect peer even when connection closed
      
      * client/network/protocol: Remove debugging log line
      
      * client/network/request_response: Use Clone::clone for error
      
      * client/network/request_response: Remove outdated comment
      
      With libp2p v0.33.0 libp2p-request-response properly sends inbound
      failures on connections being closed.
      
      Co-authored-by: default avatarAddie Wagenknecht <[email protected]>
      Co-authored-by: default avatarAshley <[email protected]>
      3f629f74
    • Shawn Tabrizi's avatar
      Participation Lottery Pallet (#7221) · 92f59682
      Shawn Tabrizi authored
      
      
      * Basic design
      
      * start adding tests
      
      * finish tests
      
      * clean up crates
      
      * use call index for match
      
      * finish benchmarks
      
      * add to runtime
      
      * fix
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * more efficient storage
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Update lib.rs
      
      * Update bin/node/runtime/src/lib.rs
      
      * trait -> config
      
      * add repeating lottery
      
      * new benchmarks
      
      * fix build
      
      * move trait for warning
      
      * feedback from @xlc
      
      * add stop_repeat
      
      * fix
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Support static calls
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fix test
      
      * add loop to mitigate modulo bias
      
      * Update weights for worst case scenario loop
      
      * Initialize pot with ED
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      92f59682
    • kaichao's avatar
      minor fix (#7828) · d2eb87f5
      kaichao authored
      d2eb87f5
    • honeywest's avatar
      Feat sp keystore (#7826) · 6d6794ea
      honeywest authored
      * delete not used VRFTranscriptValue
      
      * specification variable naming
      6d6794ea
    • thiolliere's avatar
      Improve error message on where clause on pallet error (#7821) · ccce3405
      thiolliere authored
      * improve error message on where clause on pallet error
      
      * Revert "improve error message on where clause on pallet error"
      
      This reverts commit 5a3cc38976813fccef3357833553ce30f5b988ea.
      
      * Revert "Revert "improve error message on where clause on pallet error""
      
      This reverts commit e3b3fca6bc4fa89816f80dbcb82dc4536a9b2549.
      ccce3405
    • Alexander Theißen's avatar
      contracts: Prevent contracts from allocating a too large buffer (#7818) · 031b4dda
      Alexander Theißen authored
      * Prevent contracts from allocating a too large buffer
      
      * Fix possible integer overflow
      031b4dda
    • André Silva's avatar
  4. 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
  5. 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
  6. Jan 01, 2021
  7. Dec 30, 2020
  8. Dec 29, 2020
  9. Dec 28, 2020
  10. Dec 27, 2020
  11. 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