Skip to content
  1. Oct 12, 2019
  2. Sep 28, 2019
    • 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
  3. 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
  4. Aug 28, 2019
    • André Silva's avatar
      im-online: use generic crypto (#3500) · ae9f8d04
      André Silva authored
      * im-online: support using ed25519 and sr25519 crypto
      
      * app-crypto: add trait bounds to RuntimePublic::Signature
      
      * im-online: add missing type annotations
      
      * authority-discovery: depend on im-online module and use its crypto
      
      * node: set i'm online crypto to sr25519
      
      * node: bump spec_version
      
      * rpc: don't generate i'm online pubkey in insert_key method
      
      * im-online: fix docs
      
      * im-online: move app crypto packages
      
      * aura: move app crypto packages
      ae9f8d04
  5. Aug 27, 2019
    • Pierre Krieger's avatar
      Service factory refactor (#3382) · d14e727b
      Pierre Krieger authored
      * Move Service::new to a macro
      
      * Move function calls to macros
      
      * Extract offchain_workers and start_rpc in separate function
      
      In follow-up commits, we want to be able to directly call maintain_transaction_pool, offchain_workers, and start_rpc, without having to implement the Components trait.
      This commit is a preliminary step: we extract the code to freestanding functions.
      
      * Introduce an AbstractService trait
      
      * Introduce NewService as an implementation detail of Service
      
      * Implement traits on NewService instead
      
      Instead of implementing AbstractService, Future, and Executor on Service, we implement them on NewService instead.
      
      The implementations of AbstractService, Future, and Executor on Service still exist, but they just wrap to the respective implementations for NewService.
      
      * Move components creation back to macro invocation
      
      Instead of having multiple $build_ parameters passed to the macro, let's group them all into one.
      
      This change is necessary for the follow-up commits, because we are going to call new_impl! only after all the components have already been built.
      
      * Add a $block parameter to new_impl
      
      This makes it possible to be explicit as what the generic parameter of the NewServiceis, without relying on type inference.
      
      * Introduce the ServiceBuilder struct
      
      Introduces a new builder-like ServiceBuilder struct that creates a NewService.
      
      * Macro-ify import_blocks, export_blocks and revert_chain
      
      Similar to the introduction of new_impl!, we extract the actual code into a macro, letting us get rid of the Components and Factory traits
      
      * Add export_blocks, import_blocks and revert_chain methods on ServiceBuilder
      
      Can be used as a replacement for the chain_ops::* methods
      
      * Add run_with_builder
      
      Instead of just run, adds run_with_builder to ParseAndPrepareExport/Import/Revert. This lets you run these operations with a ServiceBuilder instead of a ServiceFactory.
      
      * Transition node and node-template to ServiceBuilder
      
      * Transition transaction-factory to the new service factory
      
      This is technically a breaking change, but the transaction-factory crate is only ever used from within substrate-node, which this commit updates as well.
      
      * Remove old service factory
      
      * Adjust the AbstractService trait to be more usable
      
      We slightly change the trait bounds in order to make all the methods usable.
      
      * Make substrate-service-test compile
      
      * Fix the node-cli tests
      
      * Remove the old API
      
      * Remove the components module
      
      * Fix indentation on chain_ops
      
      * Line widths
      
      * Fix bad line widths commit
      
      * Line widths again 🤦
      
      
      
      * Fix the sync test
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Address some concerns
      
      * Remove TelemetryOnConnect
      
      * Remove informant::start
      
      * Update jsonrpc
      
      * Rename factory to builder
      
      * Line widths 😩
      d14e727b
  6. Aug 20, 2019
    • Max Inden's avatar
      srml/authority-discovery: Introduce srml module to sign and verify (#3385) · 495ccb60
      Max Inden authored
      In order to have authorities (validators) discover each other, they need
      to publish their public addresses by their ip address on the Kademlia
      Dht indexed by their public key. This payload needs to be signed by a
      key identifying them as a valid authority.
      
      Code inside `/core` does not know the current set of authorities nor
      can it assume what kind of cryptography primitives are currently in use.
      Instead it can retrieve its public key and the current set of
      authorities from the runtime and have it sign and verify Dht payloads.
      
      This commit enables code in `/core` to do so by introducing a srml
      module and runtime api to:
      
      1. Retrieve own public key.
      
      2. Retrieve public keys of current authority set.
      
      3. Sign a Dht payload.
      
      4. Verify a Dht payload.
      
      This commit makes the logic from the previous commit
      (`core/consensus/common/primitives.ConsensusApi`)
      444bf719 obsolete and thus removes it.
      495ccb60
  7. Aug 16, 2019
    • Tomasz Drwięga's avatar
      Offences reporting and slashing (#3322) · 5d992d80
      Tomasz Drwięga authored
      
      
      * Remove offline slashing logic from staking.
      
      * Initial version of reworked offence module, can report offences
      
      * Clean up staking example.
      
      * Commit SlashingOffence
      
      * Force new era on slash.
      
      * Add offenders in the SlashingOffence trait.
      
      * Introduce the ReportOffence trait.
      
      * Rename `Offence`.
      
      * Add on_before_session_ending handler.
      
      * Move offence related stuff under sr-primitives.
      
      * Fix cargo check.
      
      * Import new im-online implementation.
      
      * Adding validator count to historical session storage as it's needed for slash calculations
      
      * Add a comment about offence.
      
      * Add BabeEquivocationOffence
      
      * GrandpaEquivocationOffence
      
      * slash_fraction and fix
      
      * current_era_start_session_index
      
      * UnresponsivnessOffence
      
      * Finalise OnOffenceHandler traits, and stub impl for staking.
      
      * slash_fraction doesn't really need &self
      
      * Note that offenders count is greater than 0
      
      * Add a test to ensure that I got the math right
      
      * Use FullIdentification in offences.
      
      * Use FullIndentification.
      
      * Hook up the offences module.
      
      * Report unresponsive validators
      
      * Make sure eras have the same length.
      
      * Slashing and rewards.
      
      * Fix compilation.
      
      * Distribute rewards.
      
      * Supply validators_count
      
      * Use identificationTuple in Unresponsivness report
      
      * Fix merge.
      
      * Make sure we don't slash if amount is zero.
      
      * We don't return an error from report_offence anymo
      
      * We actually can use vec!
      
      * Prevent division by zero if the reporters is empty
      
      * offence_forces_new_era/nominators_also_get_slashed
      
      * advance_session
      
      * Fix tests.
      
      * Update srml/staking/src/lib.rs
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      * slashing_performed_according_exposure
      
      * Check that reporters receive their slice.
      
      * Small clean-up.
      
      * invulnerables_are_not_slashed
      
      * Minor clean ups.
      
      * Improve docs.
      
      * dont_slash_if_fraction_is_zero
      
      * Remove session dependency from offences.
      
      * Introduce sr-staking-primitives
      
      * Move offence under sr_staking_primitives
      
      * rename session_index
      
      * Resolves todos re using SessionIndex
      
      * Fix staking tests.
      
      * Properly scale denominator.
      
      * Fix UnresponsivnessOffence
      
      * Fix compilation.
      
      * Tests for offences.
      
      * Clean offences tests.
      
      * Fix staking doc test.
      
      * Bump spec version
      
      * Fix aura tests.
      
      * Fix node_executor
      
      * Deposit an event on offence.
      
      * Fix compilation of node-runtime
      
      * Remove aura slashing logic.
      
      * Remove HandleReport
      
      * Update docs for timeslot.
      
      * rename with_on_offence_fractions
      
      * Add should_properly_count_offences
      
      * Replace ValidatorIdByIndex with CurrentElectedSet
      
      ValidatorIdByIndex was querying the current_elected set in each call, doing loading (even though its from cache), deserializing and cloning of element.
      
      Instead of this it is more efficient to use `CurrentElectedSet`. As a small bonus, the invariant became a little bit easier: now we just rely on the fact that `keys` and `current_elected` set are of the same length rather than relying on the fact that `validator_id_by_index` would work similar to `<[T]>::get`.
      
      * Clarify babe equivocation
      
      * Fix offences.
      
      * Rename validators_count to validator_set_count
      
      * Fix squaring.
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Docs for CurrentElectedSet.
      
      * Don't punish only invulnerables
      
      * Use `get/insert` instead of `mutate`.
      
      * Fix compilation
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update srml/offences/src/lib.rs
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      * Update srml/im-online/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update srml/im-online/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update srml/im-online/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update srml/babe/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update core/sr-staking-primitives/src/offence.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Add aura todo.
      
      * Allow multiple reports for single offence report.
      
      * Fix slash_fraction calculation.
      
      * Fix typos.
      
      * Fix compilation and tests.
      
      * Fix staking tests.
      
      * Update srml/im-online/src/lib.rs
      
      Co-Authored-By: default avatarLogan Saether <[email protected]>
      
      * Fix doc on time_slot
      
      * Allow slashing only on current era (#3411)
      
      * only slash in current era
      
      * prune journal for last era
      
      * comment own_slash
      
      * emit an event when old slashing events are discarded
      
      * Pave the way for pruning
      
      * Address issues.
      
      * Try to refactor collect_offence_reports
      
      * Other fixes.
      
      * More fixes.
      5d992d80
    • André Silva's avatar
      node: update flaming fir (#3424) · 541dee9f
      André Silva authored and ddorgan's avatar ddorgan committed
      * node: update staging testnet authorities
      
      * node: update flaming fir chain spec
      541dee9f
    • André Silva's avatar
      session: add handler for genesis session (#3413) · 8258647a
      André Silva authored and Svyatoslav Nikolsky's avatar Svyatoslav Nikolsky committed
      * session: add handler for genesis session
      
      * node: bump spec version
      
      * aura: handle on_genesis_session
      
      * srml: make sure we don't re-initialize genesis authorities
      
      * session: fix mock
      
      * node: remove genesis authorities from chain spec
      
      * staking: fix mock
      
      * srml: don't initialize genesis authorities twice
      
      * aura: don't reinitialize genesis authorities
      
      * aura: fix runtime_io dependency
      
      * Bump runtime
      8258647a
  8. Aug 13, 2019
  9. Aug 12, 2019
  10. Aug 07, 2019
    • Gavin Wood's avatar
      Refactor key management (#3296) · ed61b1fd
      Gavin Wood authored
      
      
      * Add Call type to extensible transactions.
      
      Cleanup some naming
      
      * Merge Resource and BlockExhausted into just Exhausted
      
      * Fix
      
      * Another fix
      
      * Call
      
      * Some fixes
      
      * Fix srml tests.
      
      * Fix all tests.
      
      * Refactor crypto so each application of it has its own type.
      
      * Introduce new AuthorityProvider API into Aura
      
      This will eventually allow for dynamic determination of authority
      keys and avoid having to set them directly on CLI.
      
      * Introduce authority determinator for Babe.
      
      Experiment with modular consensus API.
      
      * Work in progress to introduce KeyTypeId and avoid polluting API
      with validator IDs
      
      * Finish up drafting imonline
      
      * Rework offchain workers API.
      
      * Rework API implementation.
      
      * Make it compile for wasm, simplify app_crypto.
      
      * Fix compilation of im-online.
      
      * Fix compilation of im-online.
      
      * Fix more compilation errors.
      
      * Make it compile.
      
      * Fixing tests.
      
      * Rewrite `keystore`
      
      * Fix session tests
      
      * Bring back `TryFrom`'s'
      
      * Fix `srml-grandpa`
      
      * Fix `srml-aura`
      
      * Fix consensus babe
      
      * More fixes
      
      * Make service generate keys from dev_seed
      
      * Build fixes
      
      * Remove offchain tests
      
      * More fixes and cleanups
      
      * Fixes finality grandpa
      
      * Fix `consensus-aura`
      
      * Fix cli
      
      * Fix `node-cli`
      
      * Fix chain_spec builder
      
      * Fix doc tests
      
      * Add authority getter for grandpa.
      
      * Test fix
      
      * Fixes
      
      * Make keystore accessible from the runtime
      
      * Move app crypto to its own crate
      
      * Update `Cargo.lock`
      
      * Make the crypto stuff usable from the runtime
      
      * Adds some runtime crypto tests
      
      * Use last finalized block for grandpa authority
      
      * Fix warning
      
      * Adds `SessionKeys` runtime api
      
      * Remove `FinalityPair` and `ConsensusPair`
      
      * Minor governance tweaks to get it inline with docs.
      
      * Make the governance be up to date with the docs.
      
      * Build fixes.
      
      * Generate the inital session keys
      
      * Failing keystore is a hard error
      
      * Make babe work again
      
      * Fix grandpa
      
      * Fix tests
      
      * Disable `keystore` in consensus critical stuff
      
      * Build fix.
      
      * ImOnline supports multiple authorities at once.
      
      * Update core/application-crypto/src/ed25519.rs
      
      * Merge branch 'master' into gav-in-progress
      
      * Remove unneeded code for now.
      
      * Some `session` testing
      
      * Support querying the public keys
      
      * Cleanup offchain
      
      * Remove warnings
      
      * More cleanup
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBenjamin Kampmann <[email protected]>
      
      * More cleanups
      
      * JSONRPC API for setting keys.
      
      Also, rename traits::KeyStore* -> traits::BareCryptoStore*
      
      * Bad merge
      
      * Fix integration tests
      
      * Fix test build
      
      * Test fix
      
      * Fixes
      
      * Warnings
      
      * Another warning
      
      * Bump version.
      ed61b1fd
  11. Jul 30, 2019
  12. Jul 29, 2019
  13. Jul 25, 2019
    • Kian Peymani's avatar
      Weight annotation. (#3157) · f9e5a374
      Kian Peymani authored
      
      
      * Make extrinsics extensible.
      
      Also Remove old extrinsic types.
      
      * Rest of mockup. Add tips.
      
      * Fix some build issues
      
      * Runtiem builds :)
      
      * Substrate builds.
      
      * Fix a doc test
      
      * Compact encoding
      
      * Extract out the era logic into an extension
      
      * Weight Check signed extension. (#3115)
      
      * Weight signed extension.
      
      * Revert a bit + test for check era.
      
      * Update Cargo.toml
      
      * Update node/cli/src/factory_impl.rs
      
      * Update node/executor/src/lib.rs
      
      * Update node/executor/src/lib.rs
      
      * Don't use len for weight - use data.
      
      * Operational Transaction; second attempt (#3138)
      
      * working poc added.
      
      * some fixes.
      
      * Update doc.
      
      * Fix all tests + final logic.
      
      * more refactoring.
      
      * nits.
      
      * System block limit in bytes.
      
      * Silent the storage macro warnings.
      
      * More logic more tests.
      
      * Fix import.
      
      * Refactor names.
      
      * Fix build.
      
      * Update srml/balances/src/lib.rs
      
      * Final refactor.
      
      * Bump transaction version
      
      * Fix weight mult test.
      
      * Fix more tests and improve doc.
      
      * Bump.
      
      * Make some tests work again.
      
      * Fix subkey.
      
      * Remove todos + bump.
      
      * First draft of annotating weights.
      
      * Refactor weight to u64.
      
      * More refactoring and tests.
      
      * New convert for weight to fee
      
      * more tests.
      
      * remove merge redundancy.
      
      * Fix system test.
      
      * Bring back subkey stuff.
      
      * a few stress tests.
      
      * fix some of the grumbles.
      
      * Final nits.
      
      * Update srml/system/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Scale weights by 1000.
      
      * Bump.
      
      * Fix decl_storage test.
      f9e5a374
  14. Jul 24, 2019
    • André Silva's avatar
      Use BABE instead of AuRa in node (#3171) · 8b7d0fb9
      André Silva authored
      * babe: add babe module trait
      
      * babe: track current slot and epoch start slot
      
      * babe: implement ShouldEndSession based on epochs
      
      * babe: rename weight type to avoid ambiguities
      
      * babe: expose epoch start slot in Epoch digest
      
      * babe: use epoch start for validating epoch transitions
      
      * babe: make the epoch duration a parameter type
      
      * babe: remove unused fields from config
      
      * node: update runtime to use babe instead of aura
      
      * node: use babe instead of aura
      
      * core: generate sr25519 keys from seed and add to keystore
      
      * core: remove AuthorityKeyring
      
      * node: remove unused primitive types related to babe crypto
      
      * uniform babe primitives crate import name
      
      * wrap long lines
      
      * babe: fix find_epoch_digest
      
      * fork-tree: fix find_node_where
      
      * node: set babe epoch duration to "10 minutes"
      
      * babe: cleanup import key cache if authorities don't change
      
      * node: make integration test compile (but fail)
      
      * node: bump spec_version
      
      * node: fix import
      
      * babe: don't use constants in storage fields array sizes
      
      * babe: account for first epoch slot way in the past
      
      * babe: signal next epoch change (not current)
      
      * babe: calculate next epoch randomness with next epoch index
      
      * babe: track next epoch in node
      
      * babe: cache current epoch and authorities separately
      
      * babe: generate valid babe vrf proofs in integration test
      
      * babe: cleanup claim_slot
      
      * babe: perform threshold calculation according to spec
      
      * babe: compute relative weight in threshold
      
      * babe: more precise threshold calculation
      
      * babe: use floats for threshold exponent calculation
      
      * babe: update constant c
      8b7d0fb9
    • thiolliere's avatar
      Staking rate targeting and specific rewards. (#2882) · 15ccaa46
      thiolliere authored
      * PNPoS implementation
      
      * wip: change staking api
      
      * code readibility
      
      * fix overflow
      
      * comment
      
      * license
      
      * doc
      
      * reorganize a bit
      
      * rename to proper english + doc
      
      * address comments
      
      * refactor unused mock
      
      * fix add_point
      
      * update tests
      
      * add not equalize to ci
      
      * Revert "add not equalize to ci"
      
      This reverts commit 1c61c258
      
      .
      
      * bring test back
      
      * update locks
      
      * fix genesis config
      
      * add authorship event handler + test
      
      * uncouple timestamp from staking
      
      * use on finalize instead
      
      * remove todo
      
      * simplify mock
      
      * address comment
      
      * doc
      
      * merge test
      
      * fmt
      
      * remove todo todo
      
      * move add_reward_point to regular function
      
      * doc
      
      * doc
      
      * increase version
      
      * doc and fmt
      
      * Update srml/staking/src/inflation.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Fix some doc typos
      15ccaa46
  15. Jul 20, 2019
    • Michael Müller's avatar
      Introduce srml/im-online (#3079) · aa8c06a0
      Michael Müller authored
      
      
      * Fix grammar and typo
      
      * Extend network service
      
      * Extend offchain API
      
      * Support creating unsigned UncheckedExtrinsic
      
      * Introduce srml/im-online
      
      * Bump impl and spec version
      
      * Fix web-wasm test
      
      * Apply suggestions from code review
      
      Remove parity-multiaddr dependency
      
      Co-Authored-By: default avatarPierre Krieger <[email protected]>
      
      * Replace transmute with from_raw_parts
      
      * Replace PeerId.to_string() with .to_base58()
      
      Co-Authored-By: default avatarPierre Krieger <[email protected]>
      
      * Update Cargo.lock
      
      * Bump impl and spec version (again)
      
      It was updated in master in the meantime.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Address comments
      
      * Add public function is_online_in_current_session()
      
      * Bump spec_version
      
      * Fix doc tests
      
      * Improve comments
      
      * Remove superfluous line
      
      * Name parameters consistently
      
      * Implement comments
      
      * Switch From to TryFrom
      
      * Use Vec instead of HashSet
      
      * Fix tests
      
      * Revert me: local testing
      
      * Fix check if already sent during session
      
      We gossip each session, hence we need to check
      if already sent in this session (not era).
      
      * Fix typos
      
      * Consistent terminology
      
      * Revert "Revert me: local testing"
      
      This reverts commit 73fbc29f.
      
      * Introduce IsMember trait
      
      * Implement misc comments
      
      * Remove unused function
      
      * Fix test
      
      * Fix external_addresses being written
      
      * Fix test
      
      * Add necessary trait bound
      
      * Do not increment version
      
      * Update lib.rs
      aa8c06a0
  16. Jul 11, 2019
  17. Jul 10, 2019
    • Gavin Wood's avatar
      Technical Committee (#3041) · 43dac628
      Gavin Wood authored
      * Add copy of council seats as elections module.
      
      * Split council into collective and elections modules.
      
      Make collective instanceable.
      
      * Propagate changes to the runtime and fix origin/event
      
      * insert_ref and put_ref to avoid copies.
      
      * Add tests
      
      * Fix up collective's tests
      
      * One more test
      
      * Fix elections module tests
      
      * Missed merge line
      
      * Minor fix
      
      * Test fixes
      
      * Line widths
      
      * Line widths
      
      * Rntime version
      
      * Remove comment
      
      * Deduplicate
      
      * Bump runtime again
      
      * Fix test
      43dac628
  18. Jul 08, 2019
    • asynchronous rob's avatar
      Slash and prove membership of prior sessions (#2970) · 60c54f0d
      asynchronous rob authored
      
      
      * skeleton for tracking historical sessions
      
      * refactor OpaqueKeys
      
      * some more skeleton work
      
      * adjust session to new OpaqueKeys API
      
      * further refactoring of key-type-ids
      
      * session gets validator ID parameter
      
      * run up against compiler
      
      * tweak staking to support new session changes
      
      * first run at child storage for deduplication
      
      * Make session use `AccountId` as `ValidatorId`
      
      * run up against child trie issues
      
      * switch to using normal trie but with a fixed prefix
      
      * clear out some println
      
      * add dedup test
      
      * flesh out historical module more
      
      * introduce ExposureOf for staking
      
      * test the historical module
      
      * WASM compiles
      
      * tests all compile
      
      * do some mock change
      
      * fix bulk of tests
      
      * fix staking tests
      
      * test obsolecence mechanic
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * some more style nits
      
      * a couple more nits
      
      * tweak tries
      
      * fix typo thie -> this
      60c54f0d
  19. Jul 04, 2019
    • David Craven's avatar
      Session keys buffered for a session. (#2946) · 47b09bc0
      David Craven authored
      * Session keys buffered for the duration of a session.
      
      * Add queued_keys getter.
      
      * Make sure genesis state is consistent.
      
      * Add validator_count validators.
      
      * Compensate for session delay.
      
      * Remove unused code.
      
      * Add num_validators option.
      
      * Fix session numbers.
      
      * Fix merge.
      
      * Reintroduce changed.
      
      * Update runtime.
      
      * Make NextKeyFor private.
      
      * Move block initialization to function.
      
      * Update lib.rs
      
      * Add test for change propagation.
      
      * Fix docstring.
      
      * Use get instead of take.
      
      * Initialize validators from keys.
      
      * Next try.
      
      * Fix build.
      
      * Fix warning.
      
      * Make initial validator selection more transparent.
      
      * Make storage items private.
      
      * Reorder genesis initialization.
      
      * Update Cargo.lock
      
      * Update runtime version.
      
      * Update runtime version.
      
      * Update Cargo.lock
      
      * Update runtime version.
      
      * Add docs.
      47b09bc0
    • Bastian Köcher's avatar
      Build WASM binaries as part of cargo build (#2868) · 108704a2
      Bastian Köcher authored
      
      
      * Introduce `wasm-builder` and `wasm-builder-runner` to retire `build.sh`
      
      Make use of `wasm-builder` in `test-runtime`.
      
      * Add build script and remove the wasm project
      
      * Port `node-runtime` to new wasm-builder
      
      * Make `substrate-executor` tests work with `wasm-builder`
      
      * Move `node-template` to `wasm-builder`
      
      * Remove `build.sh` :)
      
      * Remove the last include_bytes
      
      * Adds the missing build.rs files
      
      * Remove `build.sh` from CI
      
      * Debug CI
      
      * Make it work in CI
      
      * CI attempt 3
      
      * Make `substrate-runtime-test` compile on stable
      
      * Ahhh, some missed `include_bytes!`
      
      * AHH
      
      * Add suggestions
      
      * Improve search for `Cargo.lock` and don't panic if it is not found
      
      * Searching from manifest path was no good idea
      
      * Make the `wasm-builder` source better configurable
      
      * Expose the bloaty wasm binary as well
      
      * Make sure to rerun WASM recompilation on changes in dependencies
      
      * Introduce new `WASM_BUILD_TYPE` env and make sure to call `build.rs` on
      changes to env variables
      
      * Remove `build.sh` from READMEs
      
      * Rename the projects
      
      * Fixes CI
      
      * Update lock file
      
      * Fixes merge-conflict
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTriplEight <[email protected]>
      
      * Try to make windows happy
      
      * Replace all back slashes in paths with slashes
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarPierre Krieger <[email protected]>
      
      * Use cargo from `CARGO` env variable
      
      * Fix compilation
      
      * Use `rustup` for running the nightly build
      
      * Make individual projects skipable
      
      * Fix compilation
      
      * Fixes compilation
      
      * Build all WASM projects in one workspace
      
      * Replace more back slashes!
      
      * Remove `inlcude_bytes!`
      
      * Adds some documentation
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * More review comments
      
      * Update `Cargo.lock`
      
      * Set license
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * More review comments + adds `TRIGGER_WASM_BUILD` env
      
      * Fix doc tests
      
      * Increase version + update README
      
      * Switch crates.io version of `wasm-builder`
      
      * Update README
      
      * Switch to released version of `wasm-builder-runner`
      108704a2
  20. Jul 02, 2019
    • David Craven's avatar
      Turn storage items into parameters (#2883) · f835f9f6
      David Craven authored
      * balances: Turn storage items into parameters.
      
      * contract: Turn storage items into parameters.
      
      * council: Turn storage items into parameters.
      
      * finality-tracker: Turn storage items into parameters.
      
      * treasury: Turn storage items into parameters.
      
      * democracy: Fix tests.
      
      * example: Fix tests.
      
      * executive: Fix tests.
      
      * staking: Fix tests.
      
      * Update runtime.
      
      * Update template-node.
      
      * Update runtime version.
      
      * Fix executor tests.
      
      * Fix node cli tests.
      
      * Address grumbles.
      
      * Add removed default values to docs.
      
      * Make gas price a storage item.
      
      * Set associated consts must be callable outside of build.
      
      * Fix not enough gas to pay for transfer fee.
      
      * Fix build.
      
      * Emit metadata.
      
      * Fix build.
      
      * Add default values for all parameter types.
      
      * Fix build.
      
      * Fix build.
      
      * Fix build.
      
      * Fix build.
      f835f9f6
  21. Jun 27, 2019
    • Bastian Köcher's avatar
      Implement a proper generic resolution in `decl_storage!` (#2913) · da91f052
      Bastian Köcher authored
      
      
      * Add failing test case
      
      * move storage maps to blake2_128 (#2268)
      
      * remove default hash, introduce twox_128 and blake2
      
      * use blake2_128 & create ext_blake2_128
      
      * refactor code
      
      * add benchmark
      
      * factorize generator
      
      * fix
      
      * parameterizable hasher
      
      * some fix
      
      * fix
      
      * fix
      
      * fix
      
      * metadata
      
      * fix
      
      * remove debug print
      
      * map -> blake2_256
      
      * fix test
      
      * fix test
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * impl twox 128 concat (#2353)
      
      * impl twox_128_concat
      
      * comment addressed
      
      * fix
      
      * impl twox_128->64_concat
      
      * fix test
      
      * Fix compilation and cleanup some docs
      
      * Lol
      
      * Remove traits from storage types that are not generic
      
      * Get instance test almost working as wanted
      
      * Make `srml-support-test` compile again :)
      
      * Fixes test of srml-support
      
      * Fix compilation
      
      * Break some lines
      
      * Remove incorrect macro match arm
      
      * Integrates review feedback
      
      * Update documentation
      
      * Fix compilation
      da91f052
  22. Jun 26, 2019
    • Jim Posen's avatar
      srml-contract: Fix Gas type to u64 (#2944) · 827be5b5
      Jim Posen authored
      * srml-contract: Move gas costs from Config to Schedule.
      
      * srml-contract: Define Gas units fixed as u64.
      
      This removes Gas as a configurable type on the contracts Trait.
      
      * Bump node runtime spec/impl versions.
      827be5b5
  23. Jun 19, 2019
  24. Jun 14, 2019
    • Gavin Wood's avatar
      New sessions, kill consensus module (#2802) · dbf32262
      Gavin Wood authored
      
      
      * Draft of new sessions
      
      * Reintroduce tuple impls
      
      * Move staking module to new session API
      
      * More work on staking and grandpa.
      
      * Use iterator to avoid cloning and tuple macro
      
      * Make runtime build again
      
      * Polish the OpaqueKeys devex
      
      * Move consensus logic into system & aura.
      
      * Fix up system module
      
      * Get build mostly going. Stuck at service.rs
      
      * Building again
      
      * Update srml/staking/src/lib.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Refactoring out Consensus module, AuthorityIdOf, &c.
      
      * Refactored out DigestItem::AuthoritiesChanged. Building.
      
      * Remove tentative code
      
      * Remove invalid comment
      
      * Make Seal opaque and introduce nice methods for handling opaque items.
      
      * Start to use proper digest for Aura authorities tracking.
      
      * Fix up grandpa, remove system::Raw/Log
      
      * Refactor Grandpa to use new logging infrastructure.
      
      Also make authorityid/sessionkey static. Switch over to storing
      authorities in a straight Vec.
      
      * Building again
      
      * Tidy up some AuthorityIds
      
      * Expunge most of the rest of the AuthorityKey confusion.
      
      Also, de-generify Babe and re-generify Aura.
      
      * Remove cruft
      
      * Untangle last of the `AuthorityId`s.
      
      * Sort out finality_tracker
      
      * Refactor median getting
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarRobert Habermeier <[email protected]>
      
      * Session tests works
      
      * Update core/sr-primitives/src/generic/digest.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Session tests works
      
      * Fix for staking from @dvc94ch
      
      * log an error
      
      * fix test runtime build
      
      * Some test fixes
      
      * Staking mock update to new session api.
      
      * Fix build.
      
      * Move OpaqueKeys to primitives.
      
      * Use on_initialize instead of check_rotate_session.
      
      * Update tests to new staking api.
      
      * fixup mock
      
      * Fix bond_extra_and_withdraw_unbonded_works.
      
      * Fix bond_with_little_staked_value_bounded_by_slot_stake.
      
      * Fix bond_with_no_staked_value.
      
      * Fix change_controller_works.
      
      * Fix less_than_needed_candidates_works.
      
      * Fix multi_era_reward_should_work.
      
      * Fix nominating_and_rewards_should_work.
      
      * Fix nominators_also_get_slashed.
      
      * Fix phragmen_large_scale_test.
      
      * Fix phragmen_poc_works.
      
      * Fix phragmen_score_should_be_accurate_on_large_stakes.
      
      * Fix phragmen_should_not_overflow.
      
      * Fix reward_destination_works.
      
      * Fix rewards_should_work.
      
      * Fix sessions_and_eras_should_work.
      
      * Fix slot_stake_is_least_staked_validator.
      
      * Fix too_many_unbond_calls_should_not_work.
      
      * Fix wrong_vote_is_null.
      
      * Fix runtime.
      
      * Fix wasm runtime build.
      
      * Update Cargo.lock
      
      * Fix warnings.
      
      * Fix grandpa tests.
      
      * Fix test-runtime build.
      
      * Fix template node build.
      
      * Fix stuff.
      
      * Update Cargo.lock to fix CI
      
      * Re-add missing AuRa logs
      
      Runtimes are required to know about every digest they receive ― they
      panic otherwise.  This re-adds support for AuRa pre-runtime digests.
      
      * Update core/consensus/babe/src/digest.rs
      
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * Kill log trait and all that jazz.
      
      * Refactor staking tests.
      
      * Fix ci runtime wasm check.
      
      * Line length 120.
      
      * Make tests build again
      
      * Remove trailing commas in function declarations
      
      The `extern_functions!` macro doesn’t like them, perhaps due to a bug in
      rustc.
      
      * Fix type error
      
      * Fix compilation errors
      
      * Fix a test
      
      * Another couple of fixes
      
      * Fix another test
      
      * More test fixes
      
      * Another test fix
      
      * Bump runtime.
      
      * Wrap long line
      
      * Fix build, remove redundant code.
      
      * Issue to track TODO
      
      * Leave the benchmark code alone.
      
      * Fix missing `std::time::{Instant, Duration}`
      
      * Indentation
      
      * Aura ConsensusLog as enum
      dbf32262
  25. Jun 07, 2019
    • Kian Peymani's avatar
      Enhanced Council. (#2407) · 84045689
      Kian Peymani authored
      * first --unclean-- working version of locks and weight decay
      
      * Refactor voter activity history.
      
      * Tuning offset calculation and tests
      
      * Remove print.
      
      * Configurable decay ratio.
      
      * Remove spaces.
      
      * Name for activity.
      
      * Fix some style
      
      * Re-write voters as chunked map-vec.
      
      * Adds panic todo.
      
      * Fix some of the grumbles.
      
      * Fix some of the grumbles.
      
      * Chunked approvals vector.
      
      * Introduce voter_index for set_approvas in favor of complexity.
      
      * Add a bit more docs
      
      * Add boolean approvals as scalar.
      
      * Some cleanups TODO removes.
      
      * enhance some error checking.
      
      * No more double_map
      
      * Combined voter info and fee.
      
      * Fix global tests
      
      * Bump.
      
      * Fix line length
      
      * Fix error message.
      
      * Kill As<T>.
      
      * Final fix.
      
      * _Further_ kill As.
      
      * Proper imbalance for fee.
      
      * Bump.
      
      * Fix spacing.
      
      * Update
      
      * Address grumbles.
      
      * Line width.
      84045689
  26. Jun 05, 2019
    • Gavin Wood's avatar
      Sensible scheduling for referenda (#2753) · 9687db56
      Gavin Wood authored
      
      
      * Nonlinear locking and cleanups
      
      * Bump runtime version
      
      * Minor cleanup
      
      * Fix tests
      
      * Fix council tests
      
      * Fix flaw in turnout counting
      
      * Initial work on referendum schedules
      
      * Refactor council-democracy interface.
      
      * Fix build
      
      * Update srml/democracy/src/lib.rs
      
      Co-Authored-By: default avatarLuke Schoen <[email protected]>
      
      * Update srml/democracy/src/lib.rs
      
      Co-Authored-By: default avatarLuke Schoen <[email protected]>
      
      * Tests compile again
      
      * Tests!
      
      * Update todo
      
      * Fix build
      
      * Ensure votes arer not double-counted on member-transitions
      
      * Extra logic for normal council changes
      
      * Typo
      
      * A few grumbles addressed.
      9687db56
    • Svyatoslav Nikolsky's avatar
      Restore integration tests (#2620) · f7ec159a
      Svyatoslav Nikolsky authored
      * restored test_consensus
      
      * restored test_sync
      
      * run integration tests only on CI
      
      * use single test-thread for integration tests
      
      * post-merge fix
      
      * panic when integration test runs for too long
      
      * add some traces to integration logs
      
      * manual wait -> timeout
      
      * post-merge fix
      
      * post-merge fix
      f7ec159a
  27. Jun 03, 2019
    • Gavin Wood's avatar
      Nonlinear locking and cleanups (#2733) · 029a7782
      Gavin Wood authored
      * Nonlinear locking and cleanups
      
      * Bump runtime version
      
      * Minor cleanup
      
      * Fix tests
      
      * Fix council tests
      
      * Fix flaw in turnout counting
      
      * fix: lock_voting_should_work_with_delegation test
      
      * chore: fix comment refering to unexisting function
      029a7782
  28. May 15, 2019
    • thiolliere's avatar
      Make perthings operate in type operator (#2501) · 528db6e1
      thiolliere authored
      * perthings operate in type operator
      
      * implementation with rem
      
      * fmt
      
      * doc
      
      * better fmt
      
      * bump version
      
      * Tests for pet-things
      
      * demonstrate output as type of operation
      
      * Remove redundant assertions.
      
      * rename test
      
      * update lock
      
      * bump impl version
      528db6e1
  29. May 14, 2019
  30. Apr 30, 2019
    • thiolliere's avatar
      Contract accounting removal (#2230) · 563e7876
      thiolliere authored and Sergey Pepyakin's avatar Sergey Pepyakin committed
      
      
      * first partial implementation
      
      * update rent allowance
      
      * fmt
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * remove comments
      
      * reward surcharge claims
      
      * remove rent allowance in param + code_hash changed
      
      * Fix bug
      
      * fix tests
      
      * fmt
      
      * impl getter setter rent allowance
      
      * fmt
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * comments
      
      * doc + be->le
      
      * doc
      
      * doc
      
      * fix improve fast return
      
      * renamings
      
      * rename + COMPLEXITY
      
      * COMPLEXITY
      
      * add test
      
      * etrinsic claim surcharge delay configurable
      
      * comment addressed
      
      * move and rewrite of pay_rent
      
      * remove child trie
      
      * fmt
      
      * use derive
      
      * arithmetic operation
      
      * fix
      
      * fix storage root + checked_mul + test
      
      * WIP: test
      
      * WIP
      
      * add tests and fix
      
      * fmt
      
      * typo and doc suggestions
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * WIP
      
      * address some comments
      
      divide tests + some docs
      
      * use br_table
      
      * remove unused function
      
      * Bump the runtime version
      
      * insert_with
      
      * Add some comments.
      
      * Refactor
      
      * Shuffle and fix comments
      
      * More comment fixes.
      
      * dues limited
      
      * Add comment
      
      * Handicap
      
      * Docs.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarpepyakin <[email protected]>
      
      * Coalesce block_passed in a block
      
      * Fix build
      
      * Paid → Ok
      
      * match → if
      
      * Imrpove handicap description
      563e7876
  31. Apr 25, 2019
  32. Apr 23, 2019