Skip to content
Snippets Groups Projects
  1. Mar 26, 2020
  2. Mar 24, 2020
  3. Mar 23, 2020
  4. Mar 20, 2020
  5. Mar 19, 2020
  6. Mar 18, 2020
  7. Mar 17, 2020
    • Max Inden's avatar
      client/network/src/protocol: Refactor Prometheus metric logic (#5266) · e91d4be9
      Max Inden authored
      * client/network/src/protocol: Start Prometheus metric help with capital
      
      * client/network/src/protocol: Differentiate metric status as label
      
      Prometheus query language is powerful through its multi-dimensional data
      model. Metric names are hirarchical whereas labels enable data to become
      multi-dimensional.
      
      Exposing the justification of finality-proof status as a label allows
      for more powerful queries.
      
      * client/network/src/protocol: Remove 'Total' from non counter metric help
      
      The word 'total' is reserved for accumulating counters. Counters have to
      be monotonically increasing. `obsolete_requests` can decrease, thereby
      it is defined as a `Gauge` and not a `Counter`.
      
      For more details on metric naming see
      https://prometheus.io/docs/practices/naming/
      e91d4be9
  8. Mar 12, 2020
  9. Mar 10, 2020
  10. Mar 06, 2020
  11. Mar 05, 2020
  12. Mar 04, 2020
    • Benjamin Kampmann's avatar
      Don't include `:code` by default in storage proofs (#5060) · 6ee39261
      Benjamin Kampmann authored
      
      * Adds test to verify that the runtime currently is always contained in
      the proof
      
      * Start passing the runtime wasm code from the outside
      
      * Fix compilation
      
      * More build fixes
      
      * Make the test work as expected now :)
      
      * Last fixes
      
      * Fixes benchmarks
      
      * Review feedback
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarSergei Pepyakin <sergei@parity.io>
      
      * Review feedback
      
      * Fix compilation
      
      Co-authored-by: default avatarSergei Pepyakin <s.pepyakin@gmail.com>
      6ee39261
    • Shawn Tabrizi's avatar
      A Pallet for Benchmarking Common Runtime Operations (#4902) · 3d6329a2
      Shawn Tabrizi authored
      * Benchmark pallet
      
      * Add a bunch more benchmarks
      
      * do nothing test
      
      * new benchmarks
      
      * Clean up extra tests
      
      * Encode and Decode Vec<T::AccountId>
      
      * Starting to migrate benchmarks to macro
      
      * Use macro
      
      * Remove call and storage
      
      * Update Cargo.toml
      
      * Add storage recalc benchmark
      
      * Add support for custom functions in benchmark! macro
      
      * Reset DB for storage recalc
      
      * Feedback from review
      
      * Add more comments
      
      * Remove benchmark pallet from node
      
      * Fix cargo files
      
      * Fix comments
      
      * Change `crate` to `super`
      
      * missed one
      
      * Use results of benchmark encode/decode
      
      * Pass generic to extra functions
      
      * reset macro to master
      
      * Update lib.rs
      
      * Update to use standard syntax
      3d6329a2
  13. Mar 03, 2020
  14. Mar 02, 2020
  15. Feb 25, 2020
  16. Feb 21, 2020
    • asynchronous rob's avatar
      Remove `NetworkSpecialization` (#4665) · 0090fe97
      asynchronous rob authored
      
      * remove networkspecialization
      
      * Fix most of the fallout
      
      * get all tests compiling
      
      Co-authored-by: default avatarPierre Krieger <pierre.krieger1708@gmail.com>
      0090fe97
    • Cecile Tonglet's avatar
      Add tests & Service's Configuration has optional fields that shouldn't be optional (#4842) · e8000e74
      Cecile Tonglet authored
      Related to #4776 
      Related to https://github.com/paritytech/polkadot/pull/832
      
      To summarize the changes:
      1. I did not manage to validate with types the service's Configuration. But I did reduce the possibility of errors by moving all the "fill" functions to their respective structopts
      2. I split params.rs to multiple modules: one module params for just CLI parameters and one module commands for CLI subcommands (and RunCmd). Every command and params are in their own file so things are grouped better together and easier to remove
      3. I removed the run and run_subcommand helpers as they are not helping much anymore. Running a command is always a set of 3 commands: 1. init 2. update config 3. run. This still allow the user to change the config before arguments get parsed or right after.
      4. I added tests for all subcommands.
      5. [deleted]
      
      Overall the aim is to improve the situation with the Configuration and the optional parameters, add tests, make the API more consistent and simpler.
      e8000e74
    • Pierre Krieger's avatar
      Open one substream for each notifications protocol (#4909) · 7a040558
      Pierre Krieger authored
      
      * Open one substream for each notifications protocol
      
      * Fix WASM build
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarToralf Wittner <tw@dtex.org>
      
      * Address concerns
      
      * Use unsigned-varint to read the varint
      
      * Use unsigned-varint
      
      * Forgot Cargo.lock
      
      Co-authored-by: default avatarToralf Wittner <tw@dtex.org>
      7a040558
  17. Feb 19, 2020
  18. Feb 18, 2020
  19. Feb 17, 2020
    • Pierre Krieger's avatar
      Fix potential panics related to time (#4951) · d67994c5
      Pierre Krieger authored
      * Fix potential peerset panic at initialization
      
      * Also fix legacy_proto/behaviour.rs
      d67994c5
    • Shawn Tabrizi's avatar
      Fix various spelling errors (#4940) · c7a14db7
      Shawn Tabrizi authored
      
      * meaningfull -> meaningful
      
      * initialise -> initialize
      
      * tokans -> tokens
      
      * incentivise -> incentivize
      
      * lenght -> length
      
      * incentivisation -> incentivization
      
      * doesnt't -> doesn't
      
      * overwriten -> overwritten
      
      * lifecycle -> life cycle
      
      * lifecycle -> life cycle
      
      * usefull -> useful
      
      * noone -> no one
      
      * spaming -> spamming
      
      * defered -> deferred
      
      * hieght -> height
      
      * sumation -> summation
      
      * ingore -> ignore
      
      * registed -> registered
      
      * Auxialary -> Auxiliary
      
      * loggin -> logging
      
      * independance -> independence
      
      * trailling -> trailing
      
      * responsability -> responsibility
      
      * trunkated -> truncated
      
      * Weither -> Whether
      
      * informations -> information
      
      * Runtume -> Runtime
      
      * choosen -> chosen
      
      * delcataion -> declaration
      
      * Unchekced -> Unchecked
      
      * defintion -> definition
      
      * scrach -> scratch
      
      * imput -> input
      
      * transfered -> transferred
      
      * endownment -> endowment
      
      * Determinator -> Determiner
      
      * relevent -> relevant
      
      * emited -> emitted
      
      * acocunt -> account
      
      * proprotional -> proportional
      
      * instantiaion -> instantiation
      
      * commited -> committed
      
      * tombstonedead -> tombstone
      
      * uwnrap -> unwrap
      
      * acount -> account
      
      * specialised -> specialized
      
      * existant -> existent
      
      * requried -> required
      
      * Anull -> Annul
      
      * AUTHORITES -> AUTHORITIES
      
      * underyling -> underlying
      
      * recognisable -> recognizable
      
      * Capitalise -> Capitalize
      
      * reportfor -> report for
      
      * hearbeat -> heartbeat
      
      * onlineness -> being online
      
      * creater -> creator
      
      * Bytearray -> Byte array
      
      * Despoit -> Deposit
      
      * substratced -> subtracted
      
      * Curent -> Current
      
      * imbalanes -> imbalances
      
      * countfown -> countdown
      
      * inexisting -> inexistent
      
      * additionaly -> additionally
      
      * substracted -> subtracted
      
      * auxilary -> auxiliary
      
      * parital -> partial
      
      * in't -> isn't
      
      * compatability -> compatibility
      
      * infomation -> information
      
      * etected -> detected
      
      * extrinsiscs -> extrinsics
      
      * reprensentation -> representation
      
      * coonfiguration -> configuration
      
      * primtives -> primitives
      
      * miscelanious -> miscellaneous
      
      * VERISON -> VERSION
      
      * endcoded -> encoded
      
      * Genrates -> Generates
      
      * miliseconds -> milliseconds
      
      * occured -> occurred
      
      * trully -> truely
      
      * truely -> truly
      
      * conjuction -> conjunction
      
      * encouters -> encounters
      
      * customised -> customized
      
      * deterministicly -> deterministically
      
      * finalisation -> finalization
      
      * pluggable -> plugable
      
      * wakeup -> wake-up
      
      * interemdiate -> intermediate
      
      * intepreting -> interpreting
      
      * finalzied -> finalized
      
      * throgh -> through
      
      * extinsic -> extrinsic
      
      * convient -> convenient
      
      * allocater -> allocator
      
      * propagateable -> propagatable
      
      * succesfuly -> successfully
      
      * finalising -> finalizing
      
      * publically -> publicly
      
      * phrasee -> phrase
      
      * substration -> substractions
      
      * substractions -> subtractions
      
      * neccessarily -> necessarily
      
      * Inlucde -> Include
      
      * unefficient -> inefficient
      
      * thay -> they
      
      * funtion -> function
      
      * datastructures -> data structures
      
      * infromation -> information
      
      * propagatable -> propagable
      
      * ecountered -> encountered
      
      * recognise -> recognize
      
      * intergration -> integration
      
      * lastet -> latest
      
      * datatypes -> data types
      
      * datatype -> data type
      
      * Strongarming -> Strong Arming
      
      * avaible -> available
      
      * Commiting -> Committing
      
      * Retreiving -> Retrieving
      
      * shoud -> should
      
      * canonicaliziation -> canonicalization
      
      * comitted -> committed
      
      * clonable -> cloneable
      
      * Uknown -> Unknown
      
      * reponse -> response
      
      * arbitary -> arbitrary
      
      * Capapbilities -> Capabilities
      
      * responsbile -> responsible
      
      * initialisation -> initialization
      
      * cames -> came
      
      * intemediate -> intermediate
      
      * reqeust -> request
      
      * intance -> instance
      
      * explcitly -> explicitly
      
      * neighor -> neighbor
      
      * reolving -> resolving
      
      * untill -> until
      
      * Validte -> Validate
      
      * deserailize -> deserialize
      
      * literaly -> literally
      
      * preceeding -> preceding
      
      * abpve -> above
      
      * chcecked -> checked
      
      * numbet -> number
      
      * Unknow -> Unknown
      
      * halfs -> halves
      
      * gossup -> gossip
      
      * givent -> given
      
      * immediatelly -> immediately
      
      * slicable -> sliceable
      
      * conensus -> consensus
      
      * Mimicks -> Mimics
      
      * acccept -> accept
      
      * serialise -> serialize
      
      * exstrinsics -> extrinsics
      
      * panicks -> panics
      
      * maintaince -> maintenance
      
      * repeatidely -> repeatedly
      
      * anecstor -> ancestor
      
      * becasue -> because
      
      * processer -> processor
      
      * Prunning -> Pruning
      
      * insterested -> interested
      
      * unuseful -> not useful
      
      * yeided -> yielded
      
      * descendfing -> descending
      
      * corresponts -> corresponds
      
      * survivew -> survive
      
      * keps -> keeps
      
      * ligh -> light
      
      * prerequisities -> prerequisites
      
      * positiion -> position
      
      * depedency -> dependency
      
      * extrinisic -> extrinsic
      
      * atomicaly -> atomically
      
      * staticly -> statically
      
      * resul -> result
      
      * timestamb -> timestamp
      
      * Utilites -> Utilities
      
      * ammount -> amount
      
      * pocess -> process
      
      * exteral -> external
      
      * Update client/finality-grandpa/src/tests.rs
      
      * Update primitives/io/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update primitives/blockchain/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update frame/support/src/weights.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update bin/node/cli/tests/common.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/api/src/execution_extensions.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/cli/src/params.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/executor/common/src/sandbox.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/api/src/execution_extensions.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/finality-grandpa/src/communication/mod.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/state-db/src/pruning.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update frame/contracts/src/tests.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/api/src/execution_extensions.rs
      
      * bump impl
      
      * timestamb -> timestamp
      
      Co-authored-by: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      c7a14db7
    • Pierre Krieger's avatar
      Update libp2p to 0.16 (#4928) · 13cba8da
      Pierre Krieger authored
      * Update libp2p to 0.16
      
      * Actually update to libp2p 0.16 :face_palm:
      
      * Fix missed updates
      
      * Fix peerset tests
      13cba8da
  20. Feb 12, 2020
    • Toralf Wittner's avatar
      network: Use "one shot" protocol handler. (#3520) · 51a45c5d
      Toralf Wittner authored
      * network: Use "one shot" protocol handler.
      
      Add two new `NetworkBehaviour`s, one handling remote block requests
      and another one to handle light client requests (both local and from
      remote). The change is motivated by the desire to use multiple
      substreams of a single connection for different protocols. To achieve
      this, libp2p's `OneShotHandler` is used as a protocol handler in each
      behaviour. It will open a fresh substream for the duration of the
      request and close it afterwards. For block requests, we currently only
      handle incoming requests from remote and tests are missing. For light
      client handling we support incoming requests from remote and also
      ported a substantial amount of functionality over from
      `light_dispatch.rs` (including several tests). However the result lacks
      in at least two aspects:
      
      (1) We require external updates w.r.t. the best block per peer and
      currently nothing updates this information.
      (2) We carry a lot of peer-related state around.
      
      Both aspects could be simplified by externalising peer selection and
      just requiring a specific peer ID where the request should be sent to.
      We still have to maintain some peer related state due to the way
      libp2p's swarm and network behaviour work (e.g. we must make sure to
      always issue `NetworkBehaviourAction::SendEvent`s to peers we are
      connected to, otherwise the actions die a silent death.
      
      Another change implemented here is the use of protocol buffers as the
      encoding for network messages. Certain individual fields of messages
      are still SCALE encoded. There has been some discussion about this
      in another PR (https://github.com/paritytech/substrate/pull/3452), so
      far without resolution.
      
      * Uncomment `Behaviour::light_client_request`.
      
      * Add license headers.
      51a45c5d
    • Toralf Wittner's avatar
      Add command-line flag to enable yamux flow control. (#4892) · 818c05bb
      Toralf Wittner authored
      * Add command-line flag to enable yamux flow control.
      
      We never enabled proper flow-control for yamux streams which may cause
      stream buffers to exceed their configured limit when the stream
      producer outpaces the stream consumer. By switching the window update
      mode to on-read, producers will only receive more sending credit when
      all data has been consumed from the stream buffer. Using this option
      creates backpressure on producers. However depending on the protocol
      there is a risk of deadlock, if both endpoints concurrently attempt to
      send more data than they have credit for and neither side reads before
      finishing their writes. To facilitate proper testing, this PR adds a
      command-line flag `use-yamux-flow-control`.
      
      * Replace comment with generic message.
      818c05bb
  21. Feb 11, 2020