1. Dec 03, 2020
    • Bastian Köcher's avatar
      Use block requests to check if block responses are correct (#7653) · 864ce58c
      Bastian Köcher authored
      * Use block requests to check if block responses are correct
      
      Before this pr sync relied on recently announced blocks to check if a
      given peer response is correct. However this could lead to situations
      where we requested a block from a peer and it gave us the requested, but
      we rejected the response because this peer never send us an announcement
      for the given block. See the added tests for a reproduction of the
      problem.
      With this pr, we now take the block request to check if a given response
      matches the request. A node should not send us a block response
      without a request anyway.
      
      Essentially there is still a bug, because as you see in the test, we are
      requesting block 2, while we already have this block imported. It even
      happens that we request a block from the network that we have authored.
      However a fix for this would require some more refactoring of the sync code.
      
      * Revert change
      
      * Give the test a proper name
      
      * Add moar logging
      
      * Move cheaper checks
      
      * Move checks to common place
      864ce58c
    • mattrutherford's avatar
      RPC to allow setting the log filter (#7474) · 0dfdc328
      mattrutherford authored
      
      
      * Add filter reload handle
      
      * add RPC, move logging module from cli to tracing
      
      * remove dup fn
      
      * working example
      
      * Update client/rpc-api/src/system/mod.rs
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      
      * Prefer "set" to "reload"
      
      * Re-enable the commented out features of the logger
      
      * Remove duplicate code
      
      * cleanup
      
      * unneeded lvar
      
      * Bump to latest patch release
      
      * Add new CLI option to disable log filter reloading,
      
      Move profiling CLI options to SharedParams
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Applied suggestions from reviews
      
      * Fix calls to init_logger()
      
      * Handle errors when parsing logging directives
      
      * Deny `system_setLogFilter` RPC by default
      
      * One more time
      
      * Don't ignore parse errors for log directives set via CLI or RPC
      
      * Improve docs
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update client/cli/src/config.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * fix merge errors
      
      * include default directives with system_setLogFilter RPC,
      
      implement system_rawSetLogFilter RPC to exclude defaults
      
      * docs etc...
      
      * update test
      
      * refactor: rename fn
      
      * Add a test for system_set_log_filter – NOTE: the code should likely change to return an error when bad directives are passed
      
      * Update client/cli/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Address review grumbles
      
      * Add doc note on panicking behaviour
      
      * print all invalid directives before panic
      
      * change RPCs to: addLogFilter and resetLogFilter
      
      * make CLI log directives default
      
      * add comments
      
      * restore previous behaviour to panic when hard-coded directives are invalid
      
      * change/refactor directive parsing
      
      * fix line width
      
      * add test for log filter reloading
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * finish up suggestions from code review
      
      * improve test
      
      * change expect message
      
      * change fn name
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * add docs, remove unused fn
      
      * propagate Err on invalid log directive
      
      * Update tracing-subscriber version
      
      * Improve docs for `disable_log_reloading` CLI param
      
      Co-authored-by: default avatarMatt <[email protected]>
      Co-authored-by: default avatarDavid <[email protected]>
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      0dfdc328
    • Krishna Singh's avatar
      Changed map to filter map so that Phragmen ignores empty voters (#7378) · 675cbe9a
      Krishna Singh authored
      * Changed map to filter map so that Phragmen ignores empty voters
      
      * Resolve flaws and added test case
      
      * Updated test
      675cbe9a
    • LusWar's avatar
      Update ss58 registry for Phala network (#7654) · fbd21bdc
      LusWar authored
      fbd21bdc
    • thiolliere's avatar
      Refactor `StorageInstance` trait to be usable more easily (#7659) · 9f57f27c
      thiolliere authored
      
      
      * refactor StorageInstance to be usable without macros
      
      * better description
      
      * update types  doc
      
      * Update frame/support/src/traits.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      9f57f27c
  2. Dec 02, 2020
  3. Dec 01, 2020
  4. Nov 30, 2020
  5. Nov 28, 2020
  6. Nov 27, 2020
  7. Nov 26, 2020
    • Bastian Köcher's avatar
      Inform sync explicitly about new best block (#7604) · ac4366bc
      Bastian Köcher authored
      * Inform sync explicitly about new best block
      
      Instead of "fishing" the new best block out of the processed blocks, we
      now tell sync directly that there is a new best block. It also makes
      sure that we update the corresponding sync handshake to the new best
      block. This is required for parachains as they first import blocks and
      declare the new best block after being made aware of it by the relay chain.
      
      * Adds test
      
      * Make sure async stuff had time to run
      ac4366bc
  8. Nov 25, 2020
  9. Nov 24, 2020
    • Max Inden's avatar
      */Cargo.toml: Remove unused dependencies (#7590) · 24809aad
      Max Inden authored
      * */Cargo.toml: Remove unused dependencies
      
      Using cargo-udeps to detect unused dependencies.
      
      * client/network/Cargo: Revert dependency removal
      
      * Cargo.lock: Update
      24809aad
    • Alexander Theißen's avatar
      contracts: Add `salt` argument to contract instantiation (#7482) · 9a29852e
      Alexander Theißen authored
      
      
      * pallet-contracts: Fix seal_restore_to to output proper module errors
      
      Those errors where part of the decl_error for some time but where
      never actually returned. This allows proper debugging of failed
      restorations. Previously, any error did return the misleading
      `ContractTrapped`.
      
      * Bind UncheckedFrom<T::Hash> + AsRef<[u8]> everywhere
      
      This allows us to make assumptions about the AccoutId
      that are necessary for testing and in order to benchmark
      the module properly.
      
      This also groups free standing functions into inherent functions
      in order to minimize the places where the new bounds need to
      be specified.
      
      * Rework contract address determination
      
      * Do not allow override by runtime author
      * Instantiate gained a new parameter "salt"
      
      This change is done now in expecation of the upcoming code rent
      which needs to change the instantiation dispatchable and
      host function anyways.
      
      The situation in where we have only something that is like CREATE2
      makes it impossible for UIs to help the user to create an arbitrary
      amount of instantiations from the same code.
      
      With this change we have the same functionality as ethereum with
      a CREATE and CREATE2 instantation semantic.
      
      * Remove TrieIdGenerator
      
      The new trait bounds allows us to remove this workaround
      from the configuration trait.
      
      * Remove default parameters for config trait
      
      It should be solely the responsiblity to determine proper values for
      these parameter. As a matter of fact most runtime weren't using these
      values anyways.
      
      * Fix tests for new account id type
      
      Because of the new bounds on the trait tests can't get away by using
      u64 as accound id. Replacing the 8 byte value by a 32 byte value
      creates out quite a bit of code churn.
      
      * Fix benchmarks
      
      The benchmarks need adaption to the new instantiate semantics.
      
      * Fix compile errors caused by adding new trait bounds
      * Fix compile errors caused by renaming storage and rent functions
      * Adapt host functions and dispatchables to the new salt
      * Add tests for instantiate host functions (was not possible before)
      
      * Add benchmark results
      
      * Adapt to the new WeightInfo
      
      The new benchmarks add a new parameter for salt "s" to the instantiate weights
      that needs to be applied.
      
      * Fix deploying_wasm_contract_should_work integration test
      
      This test is adapted to use the new instantiate signature.
      
      * Break overlong line
      
      * Break more long lines
      
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      9a29852e