1. Aug 03, 2020
    • Bastian Köcher's avatar
      Fix transaction payment runtime api (#6792) · 54e62985
      Bastian Köcher authored
      The transaction payment runtime api used its own extrinsic generic
      parameter. This is wrong, because this resulted in using always the
      native extrinsic. If there was a runtime upgrade that changed the
      extrinsic in some way, it would result in the api breaking. The correct
      way is to use the `Extrinsic` from the `Block` parameter. This is on the
      node side the opaque extrinsic and on the runtime side the real extrinsic.
      54e62985
  2. Jul 30, 2020
  3. Jul 29, 2020
    • Alexander Theißen's avatar
      seal: Add benchmarks for dispatchables (#6715) · 4e832cdb
      Alexander Theißen authored
      * seal: Fix syntax that confuses rust-analyzer
      
      * seal: Add benchmarks for Dispatchables
      
      These are only the benchmarks for the dispatchables of
      the pallet. Those are not listed in the Schedule because
      we do not want to pull the Schedule from storage before
      dispatching.
      
      This OK because those costs are not related to actual contract
      execution. Those costs (instruction costs, ext_* costs) will
      be benchmarked seperatly and entered into the default Schedule.
      
      * seal: Add a maximum code size
      
      * Fix comments from review
      
      * Removed SEED constant
      4e832cdb
  4. Jul 28, 2020
  5. Jul 27, 2020
  6. Jul 22, 2020
    • Wei Tang's avatar
      Better handling of stable-only build (#6569) · 17922fe4
      Wei Tang authored
      
      
      * Better handling of stable-only build
      
      * Fix node template build
      
      * Fix wasm builder node-template version mismatch
      
      * Fix load_spec error
      
      * Add , in parameter
      
      * Add descrptive panic messages in tests
      
      * Add descriptive tests in node/executor benches
      
      * Fix missing compact_code_unwrap
      
      * Add missing wasm_binary_unwrap function for executor integration test
      
      * Only define import_sp_io in no_std
      
      * Small Cargo.toml styling fix
      
      * Bump wasm-builder to 2.0.0
      
      * Fix all `with_wasm_builder_from_crates` version in Substrate
      
      * Use `with_wasm_builder_from_crates` for node-template
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      17922fe4
  7. Jul 21, 2020
  8. Jul 17, 2020
    • André Silva's avatar
      grandpa: report equivocations with unsigned extrinsics (#6656) · 6687fa11
      André Silva authored
      * grandpa: use unsigned extrinsics for equivocation reporting
      
      * grandpa: allow signed reports as well
      
      * grandpa: change runtime api for submitting unsigned extrinsics
      
      * grandpa: fix tests
      
      * grandpa: add test for unsigned validation
      
      * grandpa: add benchmark for equivocation proof checking
      
      * offences: fix grandpa benchmark
      
      * grandpa: add proper weight for equivocation reporting extrinsic
      
      * grandpa: fix weight unit
      6687fa11
    • Gavin Wood's avatar
      Treasury burning can be directed (#6671) · 1be02953
      Gavin Wood authored
      * Treasury burning can be directed
      
      Also, Society is a imbalance handler
      
      * Build
      
      * Introduce from_permill in perthings.
      
      * Rename to from_perthousand to avoid confusion with Permill
      
      * Fixes
      1be02953
  9. Jul 15, 2020
  10. Jul 09, 2020
    • Alexander Theißen's avatar
      seal: Rework contracts API (#6573) · 37500cec
      Alexander Theißen authored
      * Transition getter functions to not use scratch buffer
      
      * Remove scratch buffer from ext_get_storage
      
      * Remove scratch buffer from ext_call
      
      * Remove scratch buffer from ext_instantiate
      
      * Add ext_input and remove scratch buffer
      
      * Rework error handling (changes RPC exposed data)
      
      * ext_return passes a flags field instead of a return code
      	* Flags is only for seal and not for the caller
      	* flags: u32 replaced status_code: u8 in RPC exposed type
      * API functions use a unified error type (ReturnCode)
      * ext_transfer now traps on error to be consistent with call and instantiate
      
      * Remove the no longer used `Dispatched` event
      
      * Updated inline documentation
      
      * Prevent skipping of copying the output for getter API
      
      * Return gas_consumed from the RPC contracts call interface
      
      * Updated COMPLEXTITY.md
      
      * Rename ext_gas_price to ext_weight_to_fee
      
      * Align comments with spaces
      
      * Removed no longer used `ExecError`
      
      * Remove possible panic in `from_typed_value`
      
      * Use a struct as associated data for SpecialTrap::Return
      
      * Fix nits in COMPLEXITY.md
      
      * Renamed SpecialTrap to TrapReason
      
      * Fix test
      
      * Finish renaming special_trap -> trap_reason
      
      * Remove no longer used get_runtime_storage
      
      * fixup! Remove no longer used get_runtime_storage
      
      * Removed tabs for comment aligment
      37500cec
  11. Jul 08, 2020
    • Shawn Tabrizi's avatar
      Add `WeightInfo` to all pallets with benchmarks. (#6575) · e824e8ab
      Shawn Tabrizi authored
      * Start adding weight info
      
      * More weightinfo
      
      * finish weight info
      
      * more fixes
      
      * inital update of node runtime
      
      * fix the rest of the compilation
      
      * update balances
      
      * add docs
      
      * fix balances tests
      
      * Fix more tests
      
      * Fix compile
      
      * Fix pallet-evm tests
      e824e8ab
  12. Jul 07, 2020
  13. Jul 06, 2020
    • Bastian Köcher's avatar
      Don't require module name in inherents (#6576) · c5368a1f
      Bastian Köcher authored
      * Start
      
      * Cleanup `construct_runtime!`
      
      * Add tests
      
      * Fix after merge
      
      * Update the docs
      c5368a1f
    • Shawn Tabrizi's avatar
      Benchmarks Writer CLI (#6567) · b851b755
      Shawn Tabrizi authored
      * initial mockup
      
      * add and wipe
      
      * track writes
      
      * start to add to pipeline
      
      * return all reads/writes
      
      * Log reads and writes from bench db
      
      * causes panic
      
      * Allow multiple commits
      
      * commit before ending benchmark
      
      * doesn't work???
      
      * fix
      
      * Update lib.rs
      
      * switch to struct for `BenchmarkResults`
      
      * add to output
      
      * fix test
      
      * line width
      
      * @Kianenigma
      
       review
      
      * Add Whitelist to DB Tracking in Benchmarks Pipeline (#6405)
      
      * hardcoded whitelist
      
      * Add whitelist to pipeline
      
      * Remove whitelist pipeline from CLI, add to runtime
      
      * clean-up unused db initialized whitelist
      
      * Add regression analysis to DB Tracking (#6475)
      
      * Add selector
      
      * add tests
      
      * debug formatter for easy formula
      
      * initial idea
      
      * use all benchmarks
      
      * broken
      
      * working without trait
      
      * Make work for multiple pallets
      
      * Fix merge issues
      
      * writer appends to file
      
      * implement () for balances weight trait
      
      * update name of trait
      
      * Weights to WeightInfo
      
      * auto trait writer
      
      * Heap pages are configurable
      
      * clean out runtime changes
      
      * more clean up
      
      * Fix string generation
      
      * Update comments
      
      * Update bin/node/runtime/src/lib.rs
      
      Co-authored-by: default avatararkpar <[email protected]>
      b851b755
  14. Jul 04, 2020
    • André Silva's avatar
      babe: report equivocations (#6362) · 18334ee1
      André Silva authored
      * slots: create primitives crate for consensus slots
      
      * offences: add method to check if an offence is unknown
      
      * babe: initial equivocation reporting implementation
      
      * babe: organize imports
      
      * babe: working equivocation reporting
      
      * babe: add slot number to equivocation proof
      
      * session: move duplicate traits to session primitives
      
      * babe: move equivocation stuff to its own file
      
      * offences: fix test
      
      * session: don't have primitives depend on frame_support
      
      * babe: use opaque type for key owner proof
      
      * babe: cleanup client equivocation reporting
      
      * babe: cleanup equivocation code in pallet
      
      * babe: allow sending signed equivocation reports
      
      * node: fix compilation
      
      * fix test compilation
      
      * babe: return bool on check_equivocation_proof
      
      * babe: add test for equivocation reporting
      
      * babe: add more tests
      
      * babe: add test for validate unsigned
      
      * babe: take slot number in generate_key_ownership_proof API
      
      * babe: add benchmark for equivocation proof checking
      
      * session: add benchmark for membership proof checking
      
      * offences: fix babe benchmark
      
      * babe: add weights based on benchmark results
      
      * babe: adjust weights after benchmarking on reference hardware
      
      * babe: reorder checks in check_and_report_equivocation
      18334ee1
  15. Jul 02, 2020
    • Xiliang Chen's avatar
      Allow specify schedule dispatch origin (#6387) · b6e26774
      Xiliang Chen authored
      
      
      * allow specify schedule dispatch origin
      
      * fix tests
      
      * use caller origin for scheduled
      
      * fix tests
      
      * line width
      
      * check origin for cancel
      
      * line width
      
      * fix some issues for benchmarking
      
      * fix doc test
      
      * another way to constraint origin
      
      * fix build issues
      
      * fix cancel
      
      * line width
      
      * fix benchmarks
      
      * bump version
      
      * enable runtime upgrade
      
      * add migration code and test
      
      * Update frame/scheduler/src/lib.rs
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      
      * expose migration method
      
      * add notes
      
      * bump version
      
      * remove on_runtime_upgrade
      
      * fix test
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      b6e26774
  16. Jun 29, 2020
  17. Jun 26, 2020
  18. Jun 25, 2020
  19. Jun 24, 2020
  20. Jun 21, 2020
  21. Jun 19, 2020
  22. Jun 18, 2020
    • mattrutherford's avatar
      Runtime interface to add support for tracing from wasm (#6381) · 81ba3e28
      mattrutherford authored
      
      
      * Add span recording to tracing implementation
      
      * Add tracing proxy
      
      * switch to rustc_hash::FxHashMap
      
      * Replace lazy_static and hashmap with thread_local and vec.
      
      * fix marking valid span as invalid while removing invalid spans
      
      * refactor, add wasm_tracing module in `support`
      
      * update registered spans
      
      * tidy up
      
      * typos
      
      * refactor
      
      * update flag name to signal lost trace - `is_valid_trace`
      
      * update flag name to signal lost trace - `is_valid_trace`
      
      * update docs
      
      * update docs
      
      * Use tracing Field recording to store the actual `name` and `target`
      from wasm traces.
      
      * fix debug log in subscriber + small refactor
      
      * add tests
      
      * handle misuse in case trying to exit span not held
      
      * Implement filter for wasm traces, simplify field recording for primitive types
      
      * remove superfluous warning
      
      * update docs
      
      * Update primitives/tracing/src/proxy.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * update docs, apply suggestions
      
      * move Proxy from thread_local to `Extension`, rename macro
      
      * fix test
      
      * unify native & wasm span macro calls
      
      * implement wasm tracing control facility in primitives and frame
      
      * add cli flag `--wasm-tracing`
      
      * fix
      
      * switch to `Option<u4>` (possible performance degradation), switch
      to static mut bool
      
      * performance improvement using u64 vs Option<u64>
      
      * performance improvement moving concat to client
      
      * update docs
      
      * Update client/cli/src/params/import_params.rs
      
      Co-authored-by: default avatarCecile Tonglet <[email protected]>
      
      * performance improvement
      
      * Revert "performance improvement"
      
      This reverts commit cff0aa26
      
      .
      
      * small refactor
      
      * formatting
      
      * bump impl_version
      
      * Update client/cli/src/config.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * update docs
      
      * small fixes, remove pub static
      
      * nit
      
      * add integration tests and refactor Subscriber
      
      * tests
      
      * revert formatting
      
      * try fix test that works locally but not in CI
      
      * try fix test that works locally but not in CI
      
      * debug test that works locally but not in CI
      
      * fix test that works locally but not in CI
      
      * remove pub visibility from bool in runtime
      
      * make TracingSpanGuard #[cfg(not(feature = "std"))], update docs, comments
      
      * make TracingProxy drop implementation conditional on !empty state
      
      * add docs for TraceHandler
      
      * remove blank line
      
      * update expect message
      
      * update tests
      
      * rename cli option to tracing_enable_wasm
      
      * rename cli option to tracing_enable_wasm
      
      * fix
      
      * ensure wasm-tracing features are wasm only
      
      * bump impl_version
      
      * bump impl_version
      
      * add `"pallet-scheduler/std"` to `[features]` `std` in node/runtime
      
      * refactor service to remove sp_tracing dependency
      
      * refactor: line width, trait bounds
      
      * improve LogTraceHandler output
      
      * fix test
      
      * improve tracing log output
      
      * Apply suggestions from code review
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * swap wasm indication from trace name to a separate value
      
      * Update client/tracing/src/lib.rs
      
      * add docs
      
      * remove runtime features
      
      remove wasm_tracing option from CLI
      
      remove wasm_tracing flag from ProfilingSubscriber
      
      Co-authored-by: default avatarMatt Rutherford <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarCecile Tonglet <[email protected]>
      81ba3e28
    • Wei Tang's avatar
      Pallet: Atomic Swap (#6349) · bd72cb62
      Wei Tang authored
      
      
      * Init atomic swap pallet
      
      * Implement module swap operations
      
      * Add successful swap test
      
      * Bump node spec_version
      
      * Fix storage name
      
      * Add ProofLimit parameter to prevent proof size being too large
      
      * Add missing events
      
      * Basic weight support
      
      * Add basic docs
      
      * Mark swap on claim
      
      This handles the additional case if `repatriate_reserved` fails.
      
      * Add additional expire handler
      
      * Update frame/atomic-swap/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Add docs on ProofLimit
      
      * Fix test
      
      * Return Ok(()) even when the transfer fails
      
      Because we need to mark the swap as claimed no matter what.
      
      * Remove retry logic
      
      It's overkill. Swap is about something being executed, not necessarily successful.
      Although there should be logic (reserve and unreserve) to make it so that both parties *believes*
      that the execution is successful.
      
      * succeed -> succeeded
      
      * Add docs on duration -- revealer should use duration shorter than counterparty
      
      * Missing trait type
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      bd72cb62
  23. Jun 17, 2020
  24. Jun 15, 2020
    • thiolliere's avatar
      Introduce in-origin filtering (#6318) · 0db70ea9
      thiolliere authored
      
      
      * impl filter in origin
      
      * remove IsCallable usage. Breaking: utility::batch(root, calls) no longer bypass BasicCallFilter
      
      * rename BasicCallFilter -> BaseCallFilter
      
      * refactor code
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * remove forgotten temporar comment
      
      * better add suggestion in another PR
      
      * refactor: use Clone instead of mem::replace
      
      * fix tests
      
      * fix tests
      
      * fix tests
      
      * fix benchmarks
      
      * Make root bypass filter in utility::batch
      
      * fix unused imports
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      0db70ea9
  25. Jun 10, 2020
    • Shaopeng Wang's avatar
      "OR gate" for EnsureOrigin (#6237) · e2a6c3e5
      Shaopeng Wang authored
      * 'OR gate' for EnsureOrigin.
      
      * Formatting.
      
      * More formatting.
      
      * Add docstring; Update 'Success' type.
      
      * Bump runtime impl_version.
      
      * Fix successful_origin.
      
      * Add either into std feature list.
      
      * Update docs.
      e2a6c3e5
  26. Jun 09, 2020
  27. Jun 08, 2020
  28. Jun 06, 2020
    • Marcio Diaz's avatar
      Enable fixed point u128 (#6214) · 37bbc552
      Marcio Diaz authored
      * Add fixed u128.
      
      * remove move
      
      * Change sat_from_integer impl.
      
      * checked_pow is always positive
      
      * Revert.
      
      * rename fixed file
      
      * Rename to FixedI
      
      * rename fixed file
      
      * Add newline.
      
      * Use Multiplier in impls.
      
      * Renames negate() to saturating_negate().
      
      * Uncomment test.
      
      * Add Signed to macro.
      
      * Add some tests for Saturating trait.
      37bbc552
    • Gavin Wood's avatar
      Allow "anonymous" proxied accounts (#6236) · b74957d5
      Gavin Wood authored
      
      
      * Anonymous proxiers
      
      * More testing
      
      * More testing
      
      * Build fix
      
      * Build fix
      
      * Benchmarks.
      
      * fix benchmarking
      
      * add weights
      
      * fix line width
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      b74957d5
  29. Jun 05, 2020
  30. Jun 02, 2020
    • Gavin Wood's avatar
      Generalised proxies (#6156) · 342caad3
      Gavin Wood authored
      
      
      * Initial work
      
      * It should work
      
      * Fix node
      
      * Fix tests
      
      * Initial test
      
      * Tests
      
      * Expunge proxy functionality from democracy and elections
      
      * Allow different proxy types
      
      * Repotted
      
      * Build
      
      * Build
      
      * Making a start on weights
      
      * Undo breaking change
      
      * Line widths.
      
      * Fix
      
      * fix tests
      
      * finish benchmarks?
      
      * Storage name!
      
      * Utility -> Proxy
      
      * proxy weight
      
      * add proxy weight
      
      * remove weights
      
      * Update transfer constraint
      
      * Again, fix constraints
      
      * Fix negation
      
      * Update frame/proxy/Cargo.toml
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Remove unneeded event.
      
      * Grumbles
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      342caad3