1. Feb 19, 2020
    • Bastian Köcher's avatar
      Consolidate frame benchmarking into a frame crate (#4977) · c077a2b5
      Bastian Köcher authored
      This prs cleans up some of the frame benchmarking stuff:
      - Move CLI into `frame-benchmarking-cli`. No frame related CLI should
      exists in the default Substrate CLI.
      - Move all traits and types related to frame benchmarking into the
      `frame-benchmarking` trait. Frame types should be isolated in Frame.
      c077a2b5
  2. Feb 18, 2020
  3. Feb 17, 2020
    • Pierre Krieger's avatar
      Fix potential panics related to time (#4951) · 6e7c5433
      Pierre Krieger authored
      * Fix potential peerset panic at initialization
      
      * Also fix legacy_proto/behaviour.rs
      6e7c5433
    • Web3 Philosopher's avatar
      Adds babe rpc support (#4729) · c50844a3
      Web3 Philosopher authored
      
      
      * babe_epochAuthorship
      remove test-helpers from sp-keyring, bump spec_version, impl_version
      
      * bump Cargo.lock
      
      * add BabeRPC to node-rpc
      
      * rename to BabeApi, remove err_derive
      
      * pass &ServiceBuilder to with_rpc_extensions callback
      
      * sc-consensus-babe-rpc
      
      * Update client/consensus/babe/src/lib.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Better docs, code style chanegs
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      * new line at the end of Cargo.toml
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      c50844a3
    • Shawn Tabrizi's avatar
      Fix various spelling errors (#4940) · db1ab7d1
      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 <[email protected]>
      
      * Update primitives/blockchain/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update frame/support/src/weights.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update bin/node/cli/tests/common.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/api/src/execution_extensions.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/cli/src/params.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/executor/common/src/sandbox.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/api/src/execution_extensions.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/finality-grandpa/src/communication/mod.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/state-db/src/pruning.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update frame/contracts/src/tests.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/api/src/execution_extensions.rs
      
      * bump impl
      
      * timestamb -> timestamp
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      db1ab7d1
    • Nikolay Volf's avatar
      Revalidation queue for transaction pool (#4781) · d2f09793
      Nikolay Volf authored
      
      
      * Revalidation queeue.
      
      * add docs and license
      
      * move test
      
      * refactor worker to async/await
      
      * address review
      
      * fix warnings
      
      * update Cargo.lock
      
      * move background task to service
      
      * use tomusdrw loop
      
      * naming
      
      * return From::from
      
      * add doc comment
      
      * add more doc comments
      
      * fix merge bug
      
      * add doc comment for test function
      
      * Update client/transaction-pool/src/testing/pool.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * more review fixes
      
      * refactor to allow service keep background tasks from isntantiated subsystems
      
      * use const delay
      
      * fix fallout
      
      * remove fallout
      
      * remove already moved test
      
      * fix doc test
      
      * add valid_at helper
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      d2f09793
    • Pierre Krieger's avatar
      Update libp2p to 0.16 (#4928) · c09f100b
      Pierre Krieger authored
      * Update libp2p to 0.16
      
      * Actually update to libp2p 0.16 🤦
      
      * Fix missed updates
      
      * Fix peerset tests
      c09f100b
    • Arkadiy Paronyan's avatar
      Fix import queue thread pool shutdown (#4929) · 579ea214
      Arkadiy Paronyan authored
      * Fix import queue thread pool shutdown
      
      * Make sure runtime is disposed before telemetry
      
      * Close channel istead of sending a message
      
      * Fixed test
      579ea214
    • Wei Tang's avatar
      Refactor BlockImportParams to be non_exhaustive (#4936) · f3acdac7
      Wei Tang authored
      * Refactor BlockImportParams to be non_exhaustive
      
      * Fix cargo check compile
      f3acdac7
  4. Feb 14, 2020
  5. Feb 13, 2020
    • Sergey Pepyakin's avatar
      executor: Migrate wasmtime backend to a high-level API (#4686) · 0b2ae97f
      Sergey Pepyakin authored
      
      
      * Migrate wasmtime backend to wasmtime-api
      
      * Port to a newer version of wasmtime
      
      * Update to the latest changes.
      
      * Rejig the sandbox module a bit
      
      * Materialze
      
      * Fixes.
      
      * executor wasm_runtime fix
      
      * Refactor everything
      
      * More refactoring
      
      * Even more refactorings
      
      * More cleaning.
      
      * Update to the latest wasmtime
      
      * Reformat
      
      * Renames
      
      * Refactoring and comments.
      
      * Docs
      
      * Rename FunctionExecutor to host.
      
      * Imrpove docs.
      
      * fmt
      
      * Remove panic
      
      * Assert the number of arguments are equal between wasmtime and hostfunc.
      
      * Comment a possible panic if there is no corresponding value variant.
      
      * Check signature of the entrypoint.
      
      * Use git version of wasmtime
      
      * Refine and doc the sandbox code.
      
      * Comment RefCells.
      
      * Update wasmtime to the latest-ish master.
      
      This may solve a problem with segfaults.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Use full SHA1 hash of wasmtime commit.
      
      * Add a panic message.
      
      * Add some documentation
      
      * Update wasmtime version to include SIGSEGV fix
      
      * Update to crates.io version of wasmtime
      
      * Make it work.
      
      * Move the creation of memory into `InstanceWrapper::new`
      
      * Make `InstanceWrapper` !Send & !Sync
      
      * Avoid using `take_mut`
      
      * Update client/executor/wasmtime/Cargo.toml
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Limit maximum size of memory.
      
      * Rename `init_state` to `with_initialized_state`
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      0b2ae97f
    • Kian Paimani's avatar
      Per-things trait. (#4904) · d940c024
      Kian Paimani authored
      * Give perthigns the trait it always deserved.
      
      * Make staking and phragmen work with the new generic per_thing
      
      * Make everything work together 🔨
      
      * a bit of cleanup
      
      * Clean usage
      
      * Bump.
      
      * Fix name
      
      * fix grumbles
      
      * hopefully fix the ui test
      
      * Some grumbles
      
      * revamp traits again
      
      * Better naming again.
      d940c024
    • Nikolay Volf's avatar
      Full block import benchmark (#4865) · b01bd0d4
      Nikolay Volf authored
      
      
      * full block import benchmark
      
      * try rocksdb cache
      
      * add profiling helper
      
      * use random keyring instead of zero caching
      
      * update docs
      
      * add more io stats
      
      * remove last sentence
      
      * add ci job to see
      
      * Update primitives/keyring/src/sr25519.rs
      
      Co-Authored-By: default avatarMarcio Diaz <[email protected]>
      
      * switch to 100tx-block
      
      * remove ci script
      
      Co-authored-by: default avatarMarcio Diaz <[email protected]>
      b01bd0d4
  6. Feb 12, 2020
    • 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
    • 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
    • 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
  7. Feb 11, 2020
  8. Feb 10, 2020
    • Tomasz Drwięga's avatar
      Run offchain workers at hash, not number. (#4878) · 671cb852
      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]>
      671cb852
    • Marcio Diaz's avatar
      Add trace on import block. (#4871) · 571e3c4d
      Marcio Diaz authored
      571e3c4d
    • Bastian Köcher's avatar
      Don't expose `Benchmarking` host functions by default (#4875) · 0d4586b1
      Bastian Köcher authored
      
      
      * Don't expose `Benchmarking` host functions by default
      
      * Fix tests
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      0d4586b1
    • Ashley's avatar
      Fix timer panics in the wasm light client (#4561) · ae03ee91
      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 888009a8.
      
      * Add wasm support for state machine
      
      * Switch to my own libp2p version
      
      * Revert "Switch to my own libp2p version"
      
      This reverts commit ce613871.
      
      * Revert "Add wasm support for state machine"
      
      This reverts commit de7eaa06
      
      .
      
      * 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 4690cf18.
      
      * 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 baa4ffc9
      
      .
      
      * 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]>
      ae03ee91
    • Shawn Tabrizi's avatar
      Create Benchmarking Setup for Identity Pallet #4695 (#4818) · 8b6b093d
      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]>
      8b6b093d
  9. Feb 09, 2020
  10. Feb 07, 2020