Skip to content
  1. 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
    • Shawn Tabrizi's avatar
      Do not allow zero Existential Deposit when using Balances (#4894) · 173644c8
      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]>
      173644c8
    • 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
    • Marcio Diaz's avatar
      Benchmark Timestamp Pallet (#4891) · ae70b103
      Marcio Diaz authored
      * Add selected_benchmark! macro.
      
      * Use selected_benchmark! in Identity pallet.
      
      * Implement timestamp pallet benchmark.
      
      * Fix some nits.
      
      * Bump impl_version.
      ae70b103
  2. Feb 11, 2020
  3. Feb 10, 2020
    • Tomasz Drwięga's avatar
      Run offchain workers at hash, not number. (#4878) · 05b3e1f6
      Tomasz Drwięga authored
      
      
      * Run offchain workers at particular hash, not number.
      
      * Don't run if not new best.
      
      * Don't run if not new best.
      
      * Update client/service/src/builder.rs
      
      Co-Authored-By: default avatarNikolay Volf <[email protected]>
      
      * Update client/service/src/builder.rs
      
      Co-Authored-By: default avatarNikolay Volf <[email protected]>
      
      * Update client/service/src/builder.rs
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      05b3e1f6
    • Nikolay Volf's avatar
      update primitive types to 0.6.2 (#4866) · ef7d19ed
      Nikolay Volf authored
      ef7d19ed
    • Bastian Köcher's avatar
      973d2c72
    • Marcio Diaz's avatar
      Add trait to get module and call names. (#4854) · fa27c814
      Marcio Diaz authored
      
      
      * Add trait to get module and call names.
      
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      fa27c814
    • Gavin Wood's avatar
      Avoid challenging those that can't be suspended anyway (#4804) · aff0445b
      Gavin Wood authored
      * Merge branch 'gav-split-balanecs-vesting' into gav-upsub
      
      # Conflicts:
      #	Cargo.lock
      #	cli/Cargo.toml
      #	collator/Cargo.toml
      #	primitives/Cargo.toml
      #	runtime/common/Cargo.toml
      #	runtime/common/src/claims.rs
      #	runtime/kusama/Cargo.toml
      #	runtime/polkadot/Cargo.toml
      #	service/Cargo.toml
      
      * Fix tests
      aff0445b
    • Sergey Pepyakin's avatar
      Refactor and document allocator (#4855) · 5aa5c711
      Sergey Pepyakin authored
      
      
      * Clarify code a bit.
      
      * Move code around.
      
      * Introduce `Order`.
      
      * Introduce `Link` structure.
      
      * Get rid of ptr_offset
      
      This is beneficial since ptr_offset is essentially makes us handle two different address spaces, global (i.e. `mem`) and heap local and without it things are becoming simpler.
      
      * Rename PREFIX_SIZE to HEADER_SIZE.
      
      This will come in the next commits.
      
      * Introduce a separate `Memory` trait.
      
      This is not necessary, but will come in handy for the upcoming changes.
      
      * Rename `ptr` to `header_ptr` where makes sense.
      
      * Introduce a `Header` type.
      
      * Make `bump` dumber.
      
      This allows us to pull `HEADER_SIZE` to see that we actually allocate `order.size() + HEADER_SIZE`.
      
      * Clean up.
      
      * Introduce a freelists struct.
      
      * Update documentation.
      
      * Make Sized requirement optional to make the PR truly back-compatible.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      5aa5c711
    • Marcio Diaz's avatar
      Add trace on import block. (#4871) · 6a62ec9c
      Marcio Diaz authored
      6a62ec9c
    • Bastian Köcher's avatar
      Don't expose `Benchmarking` host functions by default (#4875) · 4254fbf5
      Bastian Köcher authored
      
      
      * Don't expose `Benchmarking` host functions by default
      
      * Fix tests
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      4254fbf5
    • Ashley's avatar
      Fix timer panics in the wasm light client (#4561) · ead6815a
      Ashley authored
      
      
      * Make WASM browser thing compile
      
      * Fix
      
      * updated exit-future (github repo)
      
      * Switch to broadcast crate
      
      * Migrate client/cli
      
      * Switch exit-future to modernize branch
      
      * Small changes
      
      * Switch to cargo version and fix fg tests
      
      * fix basic-authorship
      
      * Fix crash on grafana macro
      
      * Fix grafana macro
      
      * Switch node python version
      
      * Disable record_metrics_slice in grafana macro on wasm
      
      * Update client/grafana-data-source/src/lib.rs
      
      * Revert "Update client/grafana-data-source/src/lib.rs"
      
      This reverts commit 888009a8e0b7051bd4bfbbfdb0448bcf2e2aae93.
      
      * Add wasm support for state machine
      
      * Switch to my own libp2p version
      
      * Revert "Switch to my own libp2p version"
      
      This reverts commit ce613871b59264b3165b45c37943e6560240daa7.
      
      * Revert "Add wasm support for state machine"
      
      This reverts commit de7eaa0694d9534fc3b164621737968e9a6a7c5f.
      
      * Add sc-browser
      
      * Squash
      
      * remove sc-browser
      
      * Fix keystore on wasm
      
      * stubs for removed functions to make env compatible with old runtimes
      
      * Add test (that doesn't work)
      
      * Fix build scripts
      
      * Revert basic-authorship due to no panics
      
      * Revert cli/informant
      
      * Revert consensus
      
      * revert offchain
      
      * Update utils/browser/Cargo.toml
      
      Co-Authored-By: default avatarBenjamin Kampmann <[email protected]>
      
      * export console functions
      
      * Add new chainspec
      
      * Fix ws in chain spec
      
      * revert chainspec
      
      * Fix chainspec
      
      * Use an Option<PathBuf> in keystore instead of cfg flags
      
      * Remove crud
      
      * Only use wasm-timer for instant and systemtime
      
      * Remove telemetry changes
      
      * Assuming this is ok
      
      * Add a KeystoreConfig
      
      * Add stubs back in
      
      * Update libp2p
      
      * Revert "Add stubs back in"
      
      This reverts commit 4690cf1882aa0f99f7f00a58c4080c8aa9b77c36.
      
      * Remove commented js again
      
      * Bump kvdb-web version
      
      * Fix cli
      
      * Switch branch on futures-timer
      
      * Fix tests
      
      * Remove sc-client test build in check-web-wasm because there isn't a good way to build futures-timer with wasm-bindgen support in the build
      
      * Remove more things ^^
      
      * Switch branch on futures-timer back
      
      * Put DB io stats behind a cfg flag
      
      * Fix things
      
      * Don't timeout transports on wasm
      
      * Update branch of futures-timer and fix bad merge
      
      * Spawn informant
      
      * Fix network test
      
      * Fix delay resets
      
      * Changes
      
      * Fix tests
      
      * use wasm_timer for transaction pool
      
      * Fixes
      
      * Switch futures-timer to crates
      
      * Only diagnose futures on native
      
      * Fix sc-network-test tests
      
      * Select log level in js
      
      * Fix syncing ;^)
      
      * Allow disabling colours in the informant
      
      * Use OutputFormat enum for informant
      
      * MallocSizeOf impl on transaction pool broke stuff because wasm_timer::Instant doesnt impl it so just revert the transaction pool to master
      
      * Update futures-diagnose
      
      * Revert "MallocSizeOf impl on transaction pool broke stuff because wasm_timer::Instant doesnt impl it so just revert the transaction pool to master"
      
      This reverts commit baa4ffc94fd968b6660a2c17ba8113e06af15548.
      
      * Pass whole chain spec in start_client
      
      * Get Instant::now to work in transaction pool again
      
      * Informant dep reordering
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarDemi Obenour <[email protected]>
      ead6815a
    • Cecile Tonglet's avatar
      Update trie-db to the latest (#4874) · 34bf0caa
      Cecile Tonglet authored
      34bf0caa
    • Gavin Wood's avatar
      Fix vesting logic (#4864) · 78a8d9f3
      Gavin Wood authored
      * Fix vesting logic
      
      * Bump runtime version
      
      * Docs.
      78a8d9f3
    • Shawn Tabrizi's avatar
      Create Benchmarking Setup for Identity Pallet #4695 (#4818) · e5a7fcc8
      Shawn Tabrizi authored
      
      
      * Starting
      
      * closer
      
      * Compiles!
      
      * comments
      
      * Create seperate mock
      
      * Remove changes to test env
      
      * Fix step calculation
      
      * Add host function
      
      * Add runtime api
      
      * compiles
      
      * Update to use offchain timestamp
      
      * Gives a result
      
      * added some CLI wip
      
      * make generic
      
      * Update instance
      
      * Remove CLI stuff
      
      * Remove last cli stuff
      
      * undo more changes
      
      * Update benchmarks
      
      * Update Cargo.lock
      
      * remove test
      
      * Move loop out of runtime
      
      * Benchmarking externalities
      
      * Benchmarking state
      
      * Implemented commit
      
      * Make CLI work, move loop back into runtime
      
      * Wipe resets to genesis
      
      * Speedup benchmarks
      
      * Use enum to select extrinsic within pallet
      
      * CLI controls which module and extrinsic to call
      
      * Select a pallet with cli
      
      * Add steps and repeats to cli
      
      * Output as CSV format
      
      * Introduce benchmark pallet
      
      * Append bench
      
      * Use Results
      
      * fix merge
      
      * Clear Identity benchmark
      
      * Bench request judgment and cancel request
      
      * Add final benchmarks
      
      * Fix CSV output
      
      * Start cleaning up for PR
      
      * Bump numbers in `wasmtime` integration tests.
      
      * More docs
      
      * Add rockdb feature to bench
      
      * Fix formatting issues
      
      * Add test feature to bench
      
      * Add test feature to bench
      
      * Add rocksdb feature flag
      
      * Update bench.rs
      
      Co-authored-by: default avatarArkadiy Paronyan <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      e5a7fcc8
    • h4x3rotab's avatar
      Export GRANDPA AuthorityPair when full_crypto is enabled (#4872) · 376deef3
      h4x3rotab authored
      * Export crypto_full feature in primitives/finality-grandpa
      
      * Export GRANDPA AuthorityPair when full_crypto is enabled
      376deef3
  4. Feb 09, 2020
  5. Feb 08, 2020
  6. Feb 07, 2020
  7. Feb 06, 2020
    • Nikolay Volf's avatar
      easy with threads (#4848) · 8c373916
      Nikolay Volf authored
      8c373916
    • Wei Tang's avatar
      babe: pass epoch data via intermediates (#4807) · 14b0c9a7
      Wei Tang authored
      * babe: pass epoch data via intermediates
      
      * Switch to use Box<dyn Any> for intermediates
      
      * Set intermediate.epoch to be Option
      
      * Fix proposer should put out an empty intermediate
      
      * Remove unnecessary encode/decode
      
      * Add EpochData to block_import_params in slot worker
      
      * Fix aura compile
      
      * Fix integration test
      14b0c9a7
    • Wei Tang's avatar
      Refactor epoch changes to a separate crate (#4785) · 4df27e76
      Wei Tang authored
      * Init epoch changes module
      
      * Initial integration of new epoch changes module for BABE
      
      * Fix all initial compile errors
      
      * rename: digest -> digests
      
      * Fix babe tests
      
      * Bump impl_version
      
      * Fix more test issues
      
      * Remove test flag for tree
      
      It unfortunately won't work for multiple crates.
      
      * Update cargo lock
      
      * Fix duplicate parking_lot version
      
      * Add missing license header
      4df27e76