1. Oct 25, 2019
    • Jim Posen's avatar
      support: BuildStorage methods to take self reference (#3884) · 4ff62401
      Jim Posen authored
      * support: BuildStorage methods to take self reference.
      
      There is no reason to consume the GenesisConfig when using it to
      initialize a new storage backend. Instead, build_storage and
      assimilate_storage now operator on self references.
      
      * Bump node runtime impl_version.
      4ff62401
  2. Oct 24, 2019
    • thiolliere's avatar
      Fix treasury kept and spend when emptied (#3880) · 81618967
      thiolliere authored
      * Now construct_runtime must include treasury config so account is created at genesis.
      * if it doesn't though it is ok, account will be created when the amount put is more than existential deposit.
      81618967
    • Kian Paimani's avatar
      Better Parameterisation for Fee system (#3823) · 37bda95b
      Kian Paimani authored
      * Better fee parameters
      
      * Fix build
      
      * Better runtime tests
      
      * Price to Weight ratio as type parameter (#3856)
      
      * Price to Weight ration as type parameter
      
      * Kian feedback
      
      * Some renames.
      
      * Fix executor tests
      
      * Getting Closer.
      
      * Phantom Data
      
      * Actually fix executor tests.
      
      * Fix tests.
      
      * Remove todo
      
      * Fix build
      37bda95b
    • Gavin Wood's avatar
      Add SECP256k1/ECDSA support for transaction signing (#3861) · cc0b1d08
      Gavin Wood authored
      
      
      * Add SECP256k1/ECDSA support for transaction signing.
      
      * Refactoring and fixes
      
      * Fix for contracts
      
      * Avoid breaking runtime host function
      
      * Build fixes, make subkey work more generaically.
      
      * Fix tests
      
      * Dedpulicate a bit of code, remove unneeded code, docs
      
      * Bump runtime version
      
      * Fix a test and clean up some code.
      
      * Derivation can derive seed.
      
      * Whitespace
      
      * Bump runtime again.
      
      * Update core/primitives/src/crypto.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update core/primitives/src/ecdsa.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Fix AppVerify
      cc0b1d08
  3. Oct 23, 2019
  4. Oct 22, 2019
    • Tomasz Drwięga's avatar
      Runtime logging. (#3821) · a31c01b3
      Tomasz Drwięga authored
      * Implement Printable for tuples.
      
      * Add debugging function.
      
      * Add debug 1.
      
      * Implement  for everything.
      
      * RuntimeDebug derive.
      
      * Introduce RuntimeDebug.
      
      * Add some dummy logging.
      
      * Replace RuntimeDebug with Debug.
      
      * Revert "Replace RuntimeDebug with Debug."
      
      This reverts commit bc47070a.
      
      * Working on Debug for all.
      
      * Fix bounds.
      
      * Add debug utils.
      
      * Implement runtime logging.
      
      * Add some docs and clean up.
      
      * Clean up derives.
      
      * Fix custom derive impl.
      
      * Bump runtime.
      
      * Fix long lines.
      
      * Fix doc test.
      
      * Use CARGO_CFG_STD.
      
      * Revert "Use CARGO_CFG_STD."
      
      This reverts commit ea429566.
      
      * Use parse_macro_input
      
      * Update lockfile.
      
      * Apply review suggestions.
      
      * Remove stray re-export.
      
      * Add no-std impl.
      
      * Update lockfile.
      a31c01b3
    • asynchronous rob's avatar
      Explicitly declare decl_storage! getters as functions (#3870) · 0b972942
      asynchronous rob authored
      * parse decl_storage getters with fn keyword
      
      * test for get in decl_storage
      
      * update all decl_storage! getters
      
      * bump version
      
      * adjust missed doc line
      0b972942
  5. Oct 21, 2019
  6. Oct 19, 2019
    • Ashley's avatar
      Move sr-arithmetic to a new crate and add in a fuzzer (#3799) · dccaf161
      Ashley authored
      
      
      * Split up sr_arithmetic.rs
      
      * Add some basic fuzzing
      
      * Add more tests
      
      * Add printing to fuzzing
      
      * Clean things up
      
      * Remove arbitrary
      
      * Remove comments
      
      * More cleaning, fix small error that was causing a panic
      
      * Add rational128
      
      * Remove old random tests
      
      * introduce panic
      
      * fuzzing should panic properly
      
      * Bit of cleanup
      
      * Add a test uncovered via fuzzing that fails!
      
      * Few small changes
      
      * Move sr-arithmetic to its own crate
      
      * Fix fuzzing
      
      * Got rid of fuzzer Cargo.lock
      
      * Added no_std
      
      * re-export assert_eq_error_rate
      
      * bump impl and spec version
      
      * re add convert into
      
      * Add an ignore to the test
      
      * Enabled benchmarking
      
      * Reindent
      
      * Clean up biguint fuzzer
      
      * Clean up biguint more
      
      * shuffle sr-primitives/traits about
      
      * Remove unused dependencies
      
      * Apply clippy suggestions
      
      * upgrade primitive-types versions
      
      * Run tests against num-bigint
      
      * Get rid of allocation in assert_biguints_eq
      
      * Add an optimisation to multiply_by_rational
      
      * rename parts_per_x -> per_things
      
      * Change fuzzer cargo.toml
      
      * Remove allocation from BigUint PartialEq impl
      
      * Remove accidental indentation
      
      * Renmove Lazy and Convert traits
      
      * Copy assert_eq_error_rate macro back to sr-primitives
      
      * Add documentation to fuzzers
      
      * fix sr-primitives assert_eq_error_rate
      
      * add cfg(test)
      
      * Update core/sr-arithmetic/src/traits.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update core/sr-arithmetic/src/traits.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update core/sr-arithmetic/fuzzer/src/biguint.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Allow rounding up in rational128
      
      * Make changes to biguint.rs
      
      * Update core/sr-arithmetic/src/traits.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Final touches
      
      * Convert to num_bigint::BigUint to compare
      
      * remove unused mut
      
      * more small changes
      
      * shuffle sr-primitives trait imports
      
      * more code review
      
      * move assert_eq_error_rate to lib.rs
      
      * Update core/sr-arithmetic/fuzzer/src/biguint.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Get rid of S
      
      * Simplify rational128 honggfuzz link
      
      * Insignificantly change rational128 fuzzing code
      
      * Slightly tidy up some of the arithmetic logic
      
      * Get rid of sr_arithmetic again(?) and fix sr-primitives/weights
      
      * Apply updates to sr_arithmetic.rs to crate
      dccaf161
  7. Oct 18, 2019
  8. Oct 17, 2019
    • Kian Paimani's avatar
      refactor: Transaction-Payment module (#3816) · df1582be
      Kian Paimani authored
      * Initial draft that compiles
      
      * Extract payment stuff from balances
      
      * Extract multiplier update stuff from system
      
      * Some fixes.
      
      * Update len-fee as well
      
      * some review comments.
      
      * Remove todo
      
      * bump
      df1582be
  9. Oct 16, 2019
    • thiolliere's avatar
      Refactor decl storage (#3765) · e0f3fa38
      thiolliere authored
      * split implementation in multiple files:
        * transformation -> genesis_config/  getters.rs  instance_trait.rs  metadata.rs  mod.rs  store_trait.rs
        * mod.rs -> parser.rs
        * impl.rs -> storage_struct.rs
      * parser is isolated into parse module, it could be improved as well but this can be done in another PR
      * modules contains a defintion of decl_storage input which must be ok to work with.
      * implementation change:
        * T: Trait might be more often bound to 'static (anyway we only use static one and it is needed for metadata current implementation).
        * GenesisConfig no longer requires its fields to be Clone (possible since to EncodeLike feature)
        * builder for map storages must return precise type Vec<(key, value)>
      e0f3fa38
    • Tomasz Drwięga's avatar
      Move srml RPC extensions to separate crates (#3791) · ead7e0ef
      Tomasz Drwięga authored
      
      
      * Move srml-system RPC out.
      
      * Fix tests for system-rpc module.
      
      * Contracts RPC moved.
      
      * Fix rpc test.
      
      * Clean up.
      
      * Update lockfile.
      
      * Bump runtime version.
      
      * Update srml/contracts/rpc/runtime-api/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Bump impl version.
      ead7e0ef
    • Fabio Tudone's avatar
      Fix #1536: do not require to construct a block for encoding it (#3813) · ba43ca16
      Fabio Tudone authored
      * Fix #1536: do not require to construct a block for encoding it
      
      * Bump `impl_version`
      
      * Improve `Block::encode_from` signature and rustdoc (from review by @bkchr)
      ba43ca16
  10. Oct 11, 2019
  11. Oct 10, 2019
  12. Oct 08, 2019
  13. Oct 05, 2019
  14. Oct 04, 2019
  15. Oct 03, 2019
  16. Oct 02, 2019
    • DemiMarie-parity's avatar
      Upgrade dependencies whenever “easy” (#3556) · 0cfe7438
      DemiMarie-parity authored
      * Update all dependencies
      
      * Upgrade dependencies whenever “easy”
      
      “easy” means that there are no major changes required.
      
      * Fix build and bump paste dependency to 0.1.6
      
      * Remove dead code
      
      * Re-add = dependency for futures-preview
      
      * Add missing std features for runtime-io
      
      * Remove git dependencies
      
      as updated versions have been published to crates.io
      
      * try to debug bug
      
      * For sr-io, "std" should imply "no_oom" and "no_panic_handler".
      
      Otherwise, rustc complains (correctly) about duplicate lang items.
      
      * Add missing "runtime-io/std" features
      
      * Fix compilation errors
      
      * Prevent duplicate lang items
      
      Rust does not allow duplicate lang items.  When compiled without the
      `std` feature, `sr-io` defines two lang items.  Therefore, `sr-io`
      compiled without `feature = "std"` must not be linked with `std`.
      
      However, `pwasm-utils` and `wasmi-validation` both bring in `std` unless
      compiled with `default-features = "false"`.  This caused a duplicate
      lang item error.  Building both with `default-features = "false"`
      prevents this error.  When building with `feature = "std"`, they should
      both be built with the `std` feature, so this feature needs to be
      explicitly depended on.
      
      * Bump `impl_version`
      
      * Make tests pass
      
      Three tests used 1 less gas than they had previously.
      
      * Try to un-break build
      
      * Add a Cargo.lock file
      
      * Revert offchain code
      
      * Revert "Revert offchain code"
      
      This reverts commit d216d08c
      
      .
      
      * Don’t try to send a body with a GET request
      
      without adding a Transfer-Encoding or Content-Length header.
      
      This has always been wrong, but hyperium/hyper#1925 hid the bug until
      hyper was upgraded to 0.12.35.
      
      * Change some more GET requests to POST requests
      
      * Fix excess line width and remove an `extern crate`
      
      * Delete commented-out extern crate
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Fix regression in Cargo.toml files
      
      dev-dependencies need `default-features = false`, too.
      
      * Bump parity-wasm dependency
      
      * Bump `futures-preview`
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update Cargo.lock files
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update core/service/src/chain_ops.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      0cfe7438
    • thiolliere's avatar
      Fix quantization from OnDilution in treasury (#3736) · 27a86ed7
      thiolliere authored
      * fix
      
      * bump version
      
      * remove println
      27a86ed7
  17. Oct 01, 2019
    • thiolliere's avatar
      Use EncodeLike for storages traits (#3676) · db417ffd
      thiolliere authored
      
      
      * impl
      
      * patch
      
      * lock
      
      * some refactor
      
      * some avoided copy
      
      * new api without ref for doublemap
      
      * fix
      
      * version bump
      
      * fix
      
      * point to incoming release
      
      * use codec latest
      
      * bumpd impl version
      
      * fix unused
      
      * fix
      
      * Update srml/support/src/storage/mod.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      db417ffd
    • Max Inden's avatar
      srml/authority-discovery: Abstract session key type (#3698) · 7fc0a91e
      Max Inden authored
      * srml/authority-discovery: Abstract session key type
      
      Previously `srml/authority-discovery` dependet on the `srml/im-online`
      session key type directly. With this patch `srml/authority-discovery` is
      generic over the session key type it is going to use, as long as it
      implements the RuntimeAppPublic trait.
      
      With this patch one can use the `srml/authority-discovery` module
      without the `srml/im-online` module.
      
      Next to the above, this patch configures `node/runtime` to use the babe
      session keys for the authority discovery module.
      
      * srml/authority-discovery: Fix line length
      
      * srml/authority-discovery/Cargo: Move babe to dev-dependencies
      
      * node/runtime: Bump implementation version
      
      * srml/authority-discovery: Add doc comment for authority discovery Trait
      7fc0a91e
    • André Silva's avatar
      srml: system: add kill_prefix (#3729) · aae1a9e2
      André Silva authored
      * srml: system: add kill_prefix
      
      * node: bump spec_version
      aae1a9e2
  18. Sep 30, 2019
  19. Sep 28, 2019
    • Xiliang Chen's avatar
      refactor contracts to use Time trait (#3717) · e84f6158
      Xiliang Chen authored and Sergey Pepyakin's avatar Sergey Pepyakin committed
      * refactor contracts to use Time trait
      
      * bump version
      e84f6158
    • Tomasz Drwięga's avatar
      ChainSpec extensions (#3692) · d1401df7
      Tomasz Drwięga authored
      * Add some chainspec tests and make sure we validate it.
      
      * Manual implementation of Extension + Forks definitions.
      
      * Move chain spec to separate crate.
      
      * Allow using ChainSpec with extensions.
      
      * Renames.
      
      * Implement Extension derive.
      
      * Implement Extension for Forks.
      
      * Support specifying fork blocks.
      
      * make for_blocks work
      
      * Support forks correctly.
      
      * Add a bunch of docs.
      
      * Make fork blocks optional.
      
      * Add missing docs.
      
      * Fix build.
      
      * Use struct for check_block params.
      
      * Fix tests?
      
      * Clean up.
      d1401df7
  20. Sep 27, 2019
  21. Sep 25, 2019
  22. Sep 24, 2019
  23. Sep 23, 2019
    • asynchronous rob's avatar
      Fixing BABE epochs to change between blocks (#3583) · 426c26b8
      asynchronous rob authored
      
      
      * always fetch epoch from runtime
      
      * node integration tests don't test light nodes
      
      * give stand-in full node a FULL role
      
      * rejig babe APIs
      
      * introduce next-epoch-descriptor type
      
      * overhaul srml-BABE epoch logic
      
      * ensure VRF outputs end up in the right epoch-randomness
      
      * rewrite `do_initialize` to remove unnecessary loop
      
      * begin accounting for next epoch in epoch function
      
      * slots passes header to epoch_data
      
      * pass slot_number to SlotWorker::epoch_data
      
      * begin extracting epoch-change logic into its own module
      
      * aux methods for block weight
      
      * aux methods for genesis configuration
      
      * comment-out most, refactor header-check pipeline
      
      * mostly flesh out verifier again
      
      * reinstantiate babe BlockImport implementation
      
      * reinstate import-queue instantiation
      
      * reintroduce slot-worker implementation
      
      * reinstate pretty much all the rest
      
      * move fork-choice logic to BlockImport
      
      * fix some, but not all errors
      
      * patch test-runtime
      
      * make is_descendent of slightly more generic
      
      * get skeleton compiling when passing is_descendent_of
      
      * make descendent-of-builder more succinct
      
      * restore ordering of authority_index / slot_number
      
      * start fiddling with tests
      
      * fix warnings
      
      * improve initialization architecture and handle genesis
      
      * tests use correct block-import
      
      * fix BABE tests
      
      * fix some compiler errors
      
      * fix node-cli compilation
      
      * all crates compile
      
      * bump runtime versions and fix some warnings
      
      * tweak fork-tree search implementation
      
      * do backtracking search in fork-tree
      
      * node-cli integration tests now work
      
      * fix broken assumption in test_connectivity
      
      * babe tests fail for the right reasons.
      
      * test genesis epoch logic for epoch_changes
      
      * test that epochs can change between blocks
      
      * First BABE SRML test
      
      * Testing infrastructure for BABE
      
      Also includes a trivial additional test.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * A little more test progress
      
      * More work on BABE testing
      
      * Try to get the tests working
      
      * Implement `UintAuthorityId`-based test mocks
      
      * Fix compilation errors
      
      * Adjust to upstream changes
      
      * Block numbers are ignored in BABE epoch calculation
      
      * authority_index() should ignore invalid authorities
      
      * Fix compile error
      
      * Add tests that session transitions happen
      
      * Check if BABE produces logs
      
      It currently does not.
      
      * Fix test suite
      
      This was really nasty, due to a type confusion that showed up as an
      off-by-1 buffer error.
      
      * Add additional tests
      
      Most of these were derived from the current output, so they are only
      useful to guard against regressions.
      
      * Make the tests more readable
      
      Also bump impl_version.
      
      * Fix excessive line width
      
      * Remove unused imports
      
      * Update srml/babe/src/lib.rs
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      * try to fix imports
      
      * Fix build errors in test suite
      
      * tests did not pass
      
      * Try to get at least one digest to be output
      
      Currently, the code emits either no digests (if I don’t call
      `Session::rotate_session()` or two digests (if I do), which is wrong.
      
      * More tests
      
      They still don’t work, but this should help debugging.
      
      * fix silly error
      
      * Don’t even try to compile a broken test
      
      * remove broken check_epoch test and add one for genesis epoch
      
      * Check that the length of the pre-digests is correct
      
      * Bump `impl_version`
      
      * use epoch_for_descendent_of even for genesis
      
      * account for competing block 1s
      
      * finish srml-babe docs
      
      Co-Authored-By: default avatarAndré Silva <[email protected]>
      
      * address grumbles
      426c26b8