Skip to content
  1. Feb 13, 2020
  2. Feb 12, 2020
    • Nikolay Volf's avatar
      add sr25519 bench (#4905) · 47076a93
      Nikolay Volf authored
      47076a93
    • Gavin Wood's avatar
      bbacb942
    • Xiliang Chen's avatar
      serialize partial_fee into string (#4898) · 1b42f249
      Xiliang Chen authored
      * serialize partial_fee into string
      
      * implement deserialize
      
      * bump version
      1b42f249
    • asynchronous rob's avatar
      b955d17f
    • Max Inden's avatar
      client/network-gossip: Integrate GossipEngine tasks into Future impl (#4767) · e1668c2a
      Max Inden authored
      `GossipEngine` spawns two tasks, one for a periodic tick, one to forward
      messages from the network to subscribers. These tasks hold an `Arc` to a
      `GossipEngineInner`.
      
      To reduce the amount of shared ownership (locking) this patch integrates
      the two tasks into a `Future` implementation on the `GossipEngine`
      struct. This `Future` implementation can now be called from a single
      owner, e.g. the `finality-grandpa` `NetworkBridge`.
      
      As a side effect this removes the requirement on the `network-gossip`
      crate to spawn tasks and thereby removes the requirement on the
      `finality-grandpa` crate to spawn any tasks.
      
      This is part of a greater effort to reduce the number of owners of
      components within `finality-grandpa`, `network` and `network-gossip` as
      well as to reduce the amount of unbounded channels. For details see
      d4fbb897, f0c18520 and 5afc7777.
      e1668c2a
    • Gav Wood's avatar
      Fix test · a26c44d4
      Gav Wood authored
      a26c44d4
    • Gav Wood's avatar
      Fix test · 411595d7
      Gav Wood authored
      411595d7
    • Gav Wood's avatar
    • Shawn Tabrizi's avatar
      Benchmark the Balances Pallet (#4879) · 2290645f
      Shawn Tabrizi authored
      
      
      * Initial transfer bench
      
      * Add best case
      
      * Transfer keep alive
      
      * Set balance benchmarks
      
      * Bump impl
      
      * Fix text
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      2290645f
    • Toralf Wittner's avatar
      network: Use "one shot" protocol handler. (#3520) · ea721a19
      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.
      ea721a19
    • Gav Wood's avatar
    • Shawn Tabrizi's avatar
      Do not allow zero Existential Deposit when using Balances (#4894) · 2723b9cc
      Shawn Tabrizi authored
      
      
      * Add non-zero ed check on Balances genesis
      
      * Update ED from 0 to 1
      
      * bump impl
      
      * bump spec
      
      * Found remove more ed = 0
      
      * Fix some contract tests
      
      * Use ctx.overlay.set_balance for contracts
      
      * Fix staking test
      
      * Remove obsolete logic
      
      * Allow death of payout account in society
      
      * Update frame/balances/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Dont create genesis balances if balance is zero in transaction payment pallet
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      2723b9cc
    • Toralf Wittner's avatar
      Add command-line flag to enable yamux flow control. (#4892) · f5f7852a
      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.
      f5f7852a
    • Marcio Diaz's avatar
      Benchmark Timestamp Pallet (#4891) · 10332c9a
      Marcio Diaz authored
      * Add selected_benchmark! macro.
      
      * Use selected_benchmark! in Identity pallet.
      
      * Implement timestamp pallet benchmark.
      
      * Fix some nits.
      
      * Bump impl_version.
      10332c9a
  3. Feb 11, 2020