1. Jan 26, 2021
    • thiolliere's avatar
    • Pierre Krieger's avatar
    • Gerben van de Wiel's avatar
      Migrate pallet-template to pallet attribute macro (#7981) · 054b0f54
      Gerben van de Wiel authored
      
      
      * Converting pallet-template to Framev2 macro's
      
      * Add newline
      
      * Convert all indents to tabs
      
      * Update bin/node-template/pallets/template/src/lib.rs
      
      * Update bin/node-template/pallets/template/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      054b0f54
    • Max Inden's avatar
      client/network: Report reputation changes via response (#7958) · b692954c
      Max Inden authored
      * client/network: Report reputation changes via response
      
      When handling a request by a remote peer in a request response handler,
      one might want to in- or de-crease the reputation of the peer. E.g. one
      might want to decrease the reputation slightly for each request, given
      that it forces the local node to do work, or one might want to issue a
      larger reputation change due to a malformed request by the remote peer.
      
      Instead of having to pass a peerset handle to each request response
      handler, this commit suggests to allow handlers to isssue reputation
      changes via the provided `pending_response` `oneshot` channel.
      
      A reputation change issued by a request response handler via the
      `pending_response` channel is received by the
      `RequestResponsesBehaviour` which passes the reputation change up as an
      event to eventually be send to a peerset via a peerset handle.
      
      * client/network/req-resp: Use Vec::new instead of None::<Vec<_>>
      
      * client/network: Rename Response to OutgoingResponse
      
      Given that a request-response request is not called `Request` but
      `InomingRequest`, rename a request-response response to
      `OutgoingResponse`.
      
      * client/finality-grandpa-warp: Send empty rep change via response
      b692954c
  2. Jan 25, 2021
  3. Jan 24, 2021
  4. Jan 22, 2021
    • cheme's avatar
      Allow transaction for offchain indexing (#7290) · 878f7ccf
      cheme authored
      
      
      * Moving offchain change set to state machine overlay change set,
      preparing use of change set internally.
      
      * Make change set generic over key and value, and use it for offchain
      indexing.
      
      * test ui change
      
      * remaining delta
      
      * generating with standard method
      
      * Remove 'drain_committed' function, and documentation.
      
      * Default constructor for enabling offchain indexing.
      
      * Remove offchain change specific iterators.
      
      * remove pub accessor
      
      * keep previous hierarchy, just expose iterator instead.
      
      * Update primitives/state-machine/src/overlayed_changes/mod.rs
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * fix line break
      
      * missing renamings
      
      * fix import
      
      * fix new state-machine tests.
      
      * Don't expose InnerValue type.
      
      * Add test similar to set_storage.
      
      * Remove conditional offchain storage (hard to instantiate correctly).
      
      * fix
      
      * offchain as children cannot fail if top doesn't
      
      Co-authored-by: default avatarAddie Wagenknecht <[email protected]>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      878f7ccf
  5. Jan 21, 2021
    • Jon Häggblad's avatar
      Cleaner GRANDPA RPC API for proving finality (#7339) · 20f40fbd
      Jon Häggblad authored
      
      
      * grandpa: persist block number for last block of authority set
      
      * grandpa: fix authority_set_changes field in tests
      
      * grandpa: fix date on copyright notice
      
      * grandpa-rpc: implement cleaner api for prove finality rpc
      
      * grandpa-rpc: replace the old prove_finality with the new one
      
      * grandpa: undo accidental whitespace change
      
      * grandpa-rpc: start work on redo of the finality_proof RPC API
      
      * grandpa: manual impl of Decode for AuthoritySet
      
      * grandpa: add comment about appending changes for forced changes
      
      * grandpa: flip order in set changes, tidy up some comments
      
      * grandpa: update some of the doc comments
      
      * grandpa: store authority set changes when applying forced changes
      
      * grandpa: simplify finality_proof.rs
      
      * grandpa: move checks and extend tests in finality_proof
      
      * grandpa: address first set of review comments
      
      * grandpa: check that set changes have well-defined start
      
      * grandpa: rework prove_finality and assocated tests
      
      * grandpa: make AuthoritySetChanges tuple struct
      
      * grandpa: add assertions for tracking auth set changes
      
      * grandpa: remove StorageAndProofProvider trait
      
      * grandpa: return more informative results for unexpected input to RPC
      
      * grandpa: tiny tweak to error msg
      
      * grandpa: fix tests
      
      * grandpa: add error specific to finality_proof
      
      * grandpa: fix review comments
      
      * grandpa: proper migration to new AuthoritySet
      
      * grandpa: fix long lines
      
      * grandpa: fix unused warning after merge
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      20f40fbd
    • Ashley's avatar
      Grandpa warp sync request-response protocol (#7711) · 87cc2167
      Ashley authored
      
      
      * Made a start
      
      * So the proof between authority set is phragmen one, this is crazy big,
      or is there some signing of the result : that is the storage key, damn?
      
      * ok getting from header digest seems doable.
      
      * for testing
      
      * get set id from storage directly (should use runtime to handler change).
      
      * move test to init
      
      * correct auth key
      
      * fix iteration
      
      * Correct proof content
      
      * actually update block number.
      
      * actually check last justif against its header
      
      * justification relation to new authorities through header hash check is
      needed here. This assumes the hash from header is calculated.
      
      * Few changes
      
      * Connected up cheme's branch
      
      * Clean up
      
      * Move things around a bit so that adding the grandpa warp sync request response protocol happens in the node code
      
      * Nits
      
      * Changes to comments
      
      * Cheme changes
      
      * Remove todos and test compile.
      
      * Rename _authority_ related proof function to _warp_sync_ .
      
      * Update client/grandpa-warp-sync/src/lib.rs
      
      quick fix
      
      * Put the warp sync request response protocol behind a feature flag because we dont' need it on a light client.
      
      * Update client/grandpa-warp-sync/src/lib.rs
      
      Quick fix
      
      * Update Cargo.lock
      
      * Adding test, comment on limitation related to 'delay', this could
      be implemented but with a cost.
      
      * Set between a delay override last fragment.
      
      * Check for pending authority set change at start.
      
      * adjust index
      
      * custom cache is not a good idea.
      
      * Use a simple cache instead.
      
      * restore broken indentation
      
      * Address crate rename
      
      * Merge conflict badly resolved, sorry
      
      Co-authored-by: default avatarcheme <[email protected]>
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      87cc2167
    • Bastian Köcher's avatar
      Make offchain indexing work (#7940) · cd0ad480
      Bastian Köcher authored
      
      
      * Make offchain indexing work
      
      This fixes some bugs with offchain indexing to make it actually working ;)
      
      * Fix tests
      
      * Fix browser build
      
      * Update client/db/src/offchain.rs
      
      Co-authored-by: default avatarcheme <[email protected]>
      
      * Remove seperation between prefix and key
      
      Co-authored-by: default avatarcheme <[email protected]>
      cd0ad480
    • Benjamin Kampmann's avatar
      Minor contributor docs update (#7948) · a3a9e766
      Benjamin Kampmann authored
      - Fixing Link
      - Clarify that no-force-push applies to Pull Requests, too.
      a3a9e766
    • Kian Paimani's avatar
      Attempt to remove the `where` bounds in arithmetic. (#7933) · 0dd8cd62
      Kian Paimani authored
      * Attempt to remove the where bounds.
      
      * Fix further and further.
      
      * Format better.
      
      * Update primitives/npos-elections/src/lib.rs
      
      * fix build
      
      * remove unused
      0dd8cd62
    • Max Inden's avatar
      .maintain: Replace sentry-node with local-docker-test-network (#7943) · 9031c351
      Max Inden authored
      Sentry nodes are deprecated. Thus there is no need for
      `.maintain/sentry-node` to spin up a sentry node test environment.
      Instead this commit rewrites the setup to contain two full-connected
      validators and one light client.
      
      With the steps below one can now spin up a local test network with
      two validators, one light-client, Prometheus and Grafana.
      
      - cargo build --release
      - sudo docker-compose -f .maintain/local-docker-test-network/docker-compose.yml up
      9031c351
  6. Jan 20, 2021
    • Kian Paimani's avatar
      Fix elections-phragmen and proxy issue (#7040) · e8307b7b
      Kian Paimani authored
      * Fix elections-phragmen and proxy issue
      
      * remove TODO
      
      * Update bond to be per-vote
      
      * Update frame/elections-phragmen/src/lib.rs
      
      * Fix benchmakrs
      
      * Fix weight as well.
      
      * Add license
      
      * Make weight interpreted wasm! 🤦🏻
      
      ‍♂️
      
      * Remove a bunch of TODOs
      
      * Add migration
      
      * Better storage version.
      
      * Functionify.
      
      * Fix deposit scheme.
      
      * remove legacy bond.
      
      * Master.into()
      
      * better logging.
      
      * Fix benchmarking test
      
      * Fix confused deposit collection.
      
      * Add fine
      
      * Better name for storage item
      
      * Fix name again.
      
      * remove unused
      
      * Update frame/elections-phragmen/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Update frame/elections-phragmen/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_elections_phragmen
      
      * new weight fns
      
      * Fix build
      
      * Fix line width
      
      * fix benchmakrs
      
      * fix warning
      
      * cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_elections_phragmen
      
      * Tune the stake again
      
      * cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_elections_phragmen
      
      * All tests work again.
      
      * A large number of fixes.
      
      * more fixes.
      
      * Fix node build
      
      * Some fixes to benchmarks
      
      * Fix some warnings.
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_elections_phragmen --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/elections-phragmen/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_elections_phragmen --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/elections-phragmen/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Update frame/elections-phragmen/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * a batch of review comments.
      
      * Fix a test.
      
      * Fix some more tests.
      
      * do migration with pallet version???
      
      * Final touches.
      
      * Remove unused storage.
      
      * another rounds of changes and fixes.
      
      * Update frame/elections-phragmen/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/elections-phragmen/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Review grumbles.
      
      * Fix a bit more.
      
      * Fix build
      
      * Experimental: independent migration.
      
      * WIP: isolated migration logics
      
      * clean up.
      
      * make migration struct private and move migration to own file
      
      * add doc
      
      * fix StorageInstance new syntax
      
      * Update frame/elections-phragmen/src/migrations_3_0_0.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * another round of self-review.
      
      * bit better formatting
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_elections_phragmen --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/elections-phragmen/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Fix tests.
      
      * Round of self-review
      
      * Clean migrations
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_elections_phragmen --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/elections-phragmen/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Revert unwanted change to construct-runtime
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      e8307b7b
    • Gavin Wood's avatar
      Allow validators to block and kick their nominator set. (#7930) · fb5f945a
      Gavin Wood authored
      
      
      * Allow validators to block and kick their nominator set.
      
      * migration
      
      * Test
      
      * Better migration
      
      * Fixes
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Update frame/staking/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      fb5f945a
    • Cecile Tonglet's avatar
      Telemetry per node (#7463) · 970cc25c
      Cecile Tonglet authored
      970cc25c
    • Andrew Jones's avatar
      Migrate frame-system to pallet attribute macro (#7898) · 71ef82af
      Andrew Jones authored
      
      
      * PRINT_PALLET_UPGRADE=1 cargo check -p frame-system
      
      * Copy attributes, imports, mods and type defs
      
      * Copy Config trait
      
      * Annotate constants
      
      * Tabify
      
      * Migrate hooks
      
      * Upgrade template rename interface to hooks
      
      * Migrate pallet call
      
      * Migrate Event
      
      * Migrate Error
      
      * Migrate Origin
      
      * Remove optional validate_unsigned
      
      * Remove remaining TODO_MAYBE_WHERE_CLAUSE
      
      * Overwrite original lib.rs with migrated lib2.rs.
      
      * Add required Event IsType constraint
      
      * Add disable supertrait check
      
      * Fix leftover Trait trait
      
      * Add missing pallet prefix for weight attributes
      
      * Add missing Error type parameter
      
      * Add missing Hooks type parameter
      
      * Private call visibility, restore original helper types and helpers etc
      
      * Fix hooks type parameter
      
      * Rename RawEvent to Event
      
      * Add missing storage type annotations
      
      * Remove unused imports
      
      * Add GenesisConfig helpers for compat
      
      * Fix unused import warnings
      
      * Update frame/support/procedural/src/storage/print_pallet_upgrade.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Fix test errors and warnings
      
      * Fix remaining errors and warnings
      
      * Apply review suggestion: fix formatting
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Apply review suggestion: annotate BlockLength as constant
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Apply review suggestion: add triling comma
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Apply review suggestion: add triling comma
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Apply review suggestion: add trailing comma
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Apply review suggestion: fix storage type indentation
      
      * Apply review suggestion: remove redundant Origin type alias
      
      * Add missing codec derives for BlockLength
      
      * Restore module docs
      
      * Module -> Pallet renamel
      
      * Revert "Update frame/support/procedural/src/storage/print_pallet_upgrade.rs"
      
      This reverts commit d2a2d5b6
      
      * Apply review suggestion: merge crate imports
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      
      * Revert "Upgrade template rename interface to hooks"
      
      This reverts commit 306f0239
      
      * Single line import
      
      * Refactor generated genesis build
      
      * Import sp_io::storage
      
      * Revert previous, fully qualify sp_io::storage
      
      * Fix ui tests
      
      * Fix errors after merge, missing changes
      
      * Set UpgradedToDualRefCount to true in genesis build
      
      * Annotated Runtime version with constant, exposing it via metadata
      
      * Add metadata attribute
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      71ef82af
    • Pierre Krieger's avatar
      Disable Nagle algorithm (#7932) · 9d6b9684
      Pierre Krieger authored
      * Disable Nagle algorithm
      
      * Oops, didn't compile
      9d6b9684
  7. Jan 19, 2021
    • Bastian Köcher's avatar
      Sync: Propagate block announcement data (#7903) · 450b96c5
      Bastian Köcher authored
      * Sync: Propagate block announcement data
      
      This pr adds a feature to the sync protocol to propagate the data that
      we received alongside a block announcement. This is done by adding a
      cache that caches the last X block announcement data where X is set to
      the number of `in_peers` (giving every peer the chance to send us a
      different block). This will be required by parachains to ensure that
      even peers who are not connected to a collator receive the data
      alongside the block announcement to properly validate it and request the
      block.
      
      * Review comment
      
      * Bring back the code and add new variant to ensure we don't insert block
      announce data when something wasn't checked
      
      * Also use out_peers
      450b96c5
    • Pierre Krieger's avatar
    • Shawn Tabrizi's avatar
      Freeze Assets and Asset Metadata (#7346) · 748bdf65
      Shawn Tabrizi authored
      
      
      * Features needed for reserve-backed stablecoins
      
      * Builds & tests.
      
      * Double map for an efficient destroy.
      
      * Update frame/assets/src/lib.rs
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      
      * ED/zombie-count/refs
      
      Feature: ED/minimum balance enforcement
      Feature: enforce zombie count
      Feature: allow system-alive accounts to exist, but add reference
      
      * Update frame/assets/src/lib.rs
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      
      * Update frame/assets/Cargo.toml
      
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      
      * Docs
      
      * Some tests
      
      * More tests
      
      * Allow for max_zombies to be adjusted
      
      * Test for set_max_zombies
      
      * Tests and a couple of fixes
      
      * First few benchmarks
      
      * Benchmarks.
      
      * Fix error message in test
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_assets
      
      * Update frame/assets/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_assets
      
      * Fixes
      
      * Update default weight
      
      * Add proper verification to benchmarks
      
      * minor improvements to tests
      
      * Add `freeze_asset` and `thaw_asset`
      
      * Add metadata
      
      * fix build
      
      * Update benchmarks
      
      * fix line width
      
      * cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_assets
      
      * update default weights
      
      * destroy cleans up metadata
      
      * more comprehensive lifecycle test
      
      * update docs
      
      * Update frame/assets/src/benchmarking.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Fix
      
      * New weights system
      
      * fix compile
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_assets --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/assets/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fix compile
      
      * fix up
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_assets --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/assets/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fixes to pallet compile
      
      * fix node build
      
      * remote diff artifacts
      
      * less diff
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_assets --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/assets/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Update frame/assets/src/lib.rs
      
      * Update frame/assets/src/lib.rs
      
      * usize to u32
      
      * missed some usize
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_assets --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/assets/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      Co-authored-by: default avatarGav Wood <[email protected]>
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      748bdf65
    • Pierre Krieger's avatar
      Add explicit limits to notifications sizes and adjust yamux buffer size (#7925) · 8e045159
      Pierre Krieger authored
      * Add explicit limits to notifications sizes and adjust yamux buffer size
      
      * Docfix
      
      * Tests
      
      * Document these 10 bytes
      8e045159
  8. Jan 18, 2021