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
    • Shawn Tabrizi's avatar
      Utility/Recovery passthrough always pays a fee. (#4953) · 419e5fd0
      Shawn Tabrizi authored
      * Utility passthrough always pays a fee.
      
      * Use `FunctionOf` instead of Passthrough
      
      * Update recovery passthrough
      419e5fd0
    • 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
    • h4x3rotab's avatar
      349b54c0
    • 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
      Add passthrough weight to Sudo (#4946) · 35866b03
      Shawn Tabrizi authored
      * Add passthrough weight to Sudo
      
      * Bump spec version
      
      * Passthrough `pays_fee`
      
      * Sudo always pays fee
      
      * Use `FunctionOf`
      
      * Add support for closure in dispatch classification
      
      * Update docs
      35866b03
    • 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
    • Nikolay Volf's avatar
      Database & keyring generation for benchmarks optimised (#4945) · d802fe26
      Nikolay Volf authored
      
      
      * reorganize and optimize
      
      * Update bin/node/testing/benches/import.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update bin/node/testing/benches/import.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update bin/node/testing/benches/import.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * review suggestions
      
      * fix build
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      d802fe26
    • Nikolay Volf's avatar
      Update import benchmark parameters (#4941) · 11b82829
      Nikolay Volf authored
      * update benchmark arguments
      
      * even more samples since it is fast now
      11b82829
    • 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 15, 2020
  5. Feb 14, 2020
    • Bastian Köcher's avatar
      Adds `with_pair!` macro to application-crypto (#4885) · b27d50c4
      Bastian Köcher authored
      * Adds `with_pair!` macro to application-crypto
      
      This macro will "generate" the given code only when the crypto pair is
      available. So, when either the `std` or the `full_crypto` feature is
      enabled.
      
      * Fix example
      b27d50c4
    • Web3 Philosopher's avatar
      Adds fork-awareness and finalization notifications to transaction pool watchers. (#4740) · 16bb1926
      Web3 Philosopher authored
      
      
      * adds finalization support to sc-transaction-pool using MaintainedTransactionPool for finalization events
      
      * adds TransactionStatus::Retracted, notify watchers of retracted blocks, finalized now finalizes, transactions for current finalized -> last finalized block
      
      * adds last_finalized to ChainApi, use generic BlockT for ChainEvent
      
      * fix tests
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * tests
      
      * fix tests, docs, lazily dedupe pruned hashes
      
      * fix tests, Cargo.lock
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * remove tree_route, last_finalized from ChainApi, add block hash to Finalization and Retracted events
      
      * prune finality watchers
      
      * fix tests
      
      * remove HeaderBackend bound from FullChainApi
      
      * code style nits, terminate stream in finality_timeout
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      16bb1926
    • Alexander Theißen's avatar
      Allow to distinguish out of gas from other traps (#4883) · a6e7c051
      Alexander Theißen authored
      * contracts: Allow to distinguish out of gas from other traps
      
      When a contract encounters a runtime error a wasm trap is
      triggered and the execution is halted. Currently, no matter
      what was the cause for the trap it is always reported as:
      DispatchError::Other("contract trapped during execution").
      
      However, the trap that is triggered if a contract exhausts
      its gas budget is particulary interesting. Therefore we add
      a seperate error message for this cause:
      DispatchError::Other("ran out of gas during contract execution").
      
      A test is added hat executes a contract that never terminates.
      Therefore it always exhausts is gas budget.
      
      * fixup! contracts: Allow to distinguish out of gas from other traps
      
      Remove overlong lines.
      
      * fixup! contracts: Allow to distinguish out of gas from other traps
      
      Rename Contract to Contracts
      a6e7c051
    • Gavin Wood's avatar
      Composite accounts (#4820) · 29454c30
      Gavin Wood authored
      
      
      * Basic account composition.
      
      * Add try_mutate_exists
      
      * De-duplicate
      
      * Refactor away the UpdateBalanceOutcome
      
      * Expunge final UpdateBalanceOutcome refs
      
      * Refactor transfer
      
      * Refactor reservable currency stuff.
      
      * Test with the alternative setup.
      
      * Fixes
      
      * Test with both setups.
      
      * Fixes
      
      * Fix
      
      * Fix macros
      
      * Make indices opt-in
      
      * Remove CreationFee, and make indices opt-in.
      
      * Fix construct_runtime
      
      * Fix last few bits
      
      * Fix tests
      
      * Update trait impls
      
      * Don't hardcode the system event
      
      * Make tests build and fix some stuff.
      
      * Pointlessly bump runtime version
      
      * Fix benchmark
      
      * Another fix
      
      * Whitespace
      
      * Make indices module economically safe
      
      * Migrations for indices.
      
      * Fix
      
      * Whilespace
      
      * Trim defunct migrations
      
      * Remove unused storage item
      
      * More contains_key fixes
      
      * Docs.
      
      * Bump runtime
      
      * Remove unneeded code
      
      * Fix test
      
      * Fix test
      
      * Update frame/balances/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Fix ED logic
      
      * Repatriate reserved logic
      
      * Typo
      
      * Fix typo
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Last few fixes
      
      * Another fix
      
      * Build fix
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarJaco Greeff <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      29454c30
    • Bastian Köcher's avatar
      Adds a test to ensure that we clear the heap between calls into runtime (#4903) · d02c720e
      Bastian Köcher authored
      * Adds a test to ensure that we clear the heap between calls into runtime
      
      The tests shows that we currently not clearing the heap in wasmtime.
      For now we don't run the test for wasmtime.
      
      * Fix compilation
      d02c720e
  6. Feb 13, 2020
    • Wei Tang's avatar
      pallet-evm: refactor duplicate code in call/create/create2 (#4922) · 7d544ef3
      Wei Tang authored
      * pallet-evm: refactor duplicate code in call/create/create2
      
      * Bump runtime version
      7d544ef3
    • Wei Tang's avatar
      pallet-evm: add support for transaction-level create2 (#4907) · 067c8844
      Wei Tang authored
      * pallet-evm: add support for transaction-level create2
      
      * Bump runtime version
      
      * Switch to FunctionOf for weights
      067c8844
    • Nikolay Volf's avatar
      b36497ad
    • 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
    • Bastian Köcher's avatar
      Fix chain-spec and make sure it does not breaks again (#4906) · d78534ed
      Bastian Köcher authored
      * Fix chain-spec and make sure it does not breaks again
      
      * REview feedback
      d78534ed
  7. Feb 12, 2020