1. Jan 06, 2021
  2. Jan 05, 2021
    • Max Inden's avatar
      client/network: Use request response for block requests (#7478) · dbe20312
      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]>
      dbe20312
    • Shawn Tabrizi's avatar
      Participation Lottery Pallet (#7221) · 1b840aa0
      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]>
      1b840aa0
    • kaichao's avatar
      minor fix (#7828) · 0091c092
      kaichao authored
      0091c092
    • honeywest's avatar
      Feat sp keystore (#7826) · 4dcde7e9
      honeywest authored
      * delete not used VRFTranscriptValue
      
      * specification variable naming
      4dcde7e9
    • thiolliere's avatar
      Improve error message on where clause on pallet error (#7821) · 80d75596
      thiolliere authored
      * improve error message on where clause on pallet error
      
      * Revert "improve error message on where clause on pallet error"
      
      This reverts commit 5a3cc389.
      
      * Revert "Revert "improve error message on where clause on pallet error""
      
      This reverts commit e3b3fca6.
      80d75596
    • Alexander Theißen's avatar
      contracts: Prevent contracts from allocating a too large buffer (#7818) · 91dd683f
      Alexander Theißen authored
      * Prevent contracts from allocating a too large buffer
      
      * Fix possible integer overflow
      91dd683f
    • André Silva's avatar
  3. Jan 04, 2021
    • thiolliere's avatar
      fix template (#7823) · 3a904bbf
      thiolliere authored
      3a904bbf
    • Alexander Theißen's avatar
      contracts: Lazy storage removal (#7740) · fcdba68b
      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
      fcdba68b
    • Max Inden's avatar
      *: Update to libp2p v0.33.0 (#7759) · 28ffe375
      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
      28ffe375
    • Alexander Theißen's avatar
      contracts: Allow runtime authors to define a chain extension (#7548) · d972eb14
      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
      d972eb14
    • Bastian Köcher's avatar
      Happy new year (#7814) · 9b08105b
      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
      9b08105b
  4. Jan 03, 2021
    • André Silva's avatar
      Cleanup some warnings (#7816) · 5215cd71
      André Silva authored
      * client: cleanup redundant semicolon warnings
      
      * grandpa: remove usage of deprecated compare_and_swap
      5215cd71
    • Bastian Köcher's avatar
      Fix ss58check test when executed with other tests (#7815) · e8a8301c
      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.
      e8a8301c
  5. Jan 01, 2021
  6. Dec 30, 2020
  7. Dec 29, 2020
  8. Dec 28, 2020
  9. Dec 27, 2020
  10. Dec 24, 2020
    • thiolliere's avatar
      Add `pallet` attribute macro to declare pallets (#6877) · 0d6953cc
      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]>
      0d6953cc
  11. Dec 23, 2020
  12. Dec 22, 2020
  13. Dec 21, 2020