Skip to content
  1. Oct 22, 2022
  2. Sep 27, 2022
  3. Sep 19, 2022
    • Tsvetomir Dimitrov's avatar
      Improved dispute votes import in provisioner (#5567) · 6ae9720c
      Tsvetomir Dimitrov authored
      * Add `DisputeState` to `DisputeCoordinatorMessage::RecentDisputes`
      
      The new signature of the message is:
      ```
      RecentDisputes(oneshot::Sender<Vec<(SessionIndex, CandidateHash, DisputeStatus)>>),
      ```
      
      As part of the change also add `DispiteStatus` to
      `polkadot_node_primitives`.
      
      * Move dummy_signature() in primitives/test-helpers
      
      * Enable staging runtime api on Rococo
      
      * Implementation
      
      * Move disputes to separate module
      * Vote prioritisation
      * Duplicates handling
      * Double vote handling
      * Unit tests
      * Logs and metrics
      * Code review feedback
      * Fix ACTIVE/INACTIVE separation and update partition names
      * Add `fn dispute_is_inactive` to node primitives and refactor `fn get_active_with_status()` logic
      * Keep the 'old' logic if the staging api is not enabled
      * Fix some comments in tests
      * Add warning message if there are any inactive_unknown_onchain disputes
      * Add file headers and remove `use super::*;` usage outside tests
      * Adding doc comments
      * Fix test methods names
      
      * Fix staging api usage
      
      * Fix `get_disputes` runtime function implementation
      
      * Fix compilation error
      
      * Fix arithmetic operations in tests
      
      * Use smaller test data
      
      * Rename `RuntimeApiRequest::StagingDisputes` to `RuntimeApiRequest::Disputes`
      
      * Remove `staging-client` feature flag
      
      * fmt
      
      * Remove `vstaging` feature flag
      
      * Some comments regarding the staging api
      
      * Rename dispute selection modules in provisioner
      with_staging_api -> prioritized_selection
      without_staging_api -> random_selection
      
      * Comments for staging api
      
      * Comments
      
      * Additional logging
      
      * Code review feedback
      
      process_selected_disputes -> into_multi_dispute_statement_set
      typo
      In trait VoteType: vote_value -> is_valid
      
      * Code review feedback
      
      * Fix metrics
      
      * get_disputes -> disputes
      
      * Get time only once during partitioning
      
      * Fix partitioning
      
      * Comments
      
      * Reduce the number of hardcoded api versions
      
      * Code review feedback
      
      * Unused import
      
      * Comments
      
      * More precise log messages
      
      * Code review feedback
      
      * Code review feedback
      
      * Code review feedback - remove `trait VoteType`
      
      * Code review feedback
      
      * Trace log for DisputeCoordinatorMessage::QueryCandidateVotes counter in vote_selection
      6ae9720c
  4. Jun 16, 2022
  5. May 06, 2022
    • Tsvetomir Dimitrov's avatar
      Disputes which are unknown for the Runtime are sent with priority by the... · 20e56a45
      Tsvetomir Dimitrov authored
      
      Disputes which are unknown for the Runtime are sent with priority by the Provisioner when preparing inherent data (#5336)
      
      * Implement MallocSizeOf for DisputeState
      
      * Implementation of `Disputes` Runtime API message
      
      * Modify on-chain dispute import
      
      * Add feature flag for the new functionality
      
      * Update node/core/provisioner/src/onchain_disputes.rs
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      
      * Add target to log messages
      
      * Update node/core/provisioner/src/lib.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Use `staging-client` feature to enable the client code using the staging runtime api
      
      * Remove TODO comment
      
      * Don't filter out DisputeState
      
      * Fix disputes selection logic
      
      * spelling
      
      * Tests
      
      * Rename `Disputes` message to `StagingDisputes`
      
      * Update node/core/provisioner/src/lib.rs
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      * Code review feedback
      
      - Logging
      - Separate error module
      - Add additional fields for GetOnchainDisputesErr
      - logging and impl MallocSizeOf
      - fix impl MallocSizeOf for DisputeState
      - fix tests
      
      * Update node/core/provisioner/src/error.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Update node/core/provisioner/src/lib.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Update node/core/provisioner/src/lib.rs
      
      Co-authored-by: default avatarAndronik <[email protected]>
      
      * Apply suggestions from code review
      
      dummy metrics instance
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      * Revert "Apply suggestions from code review"
      
      This reverts commit 6dc518cbf77e037ff4760d315938a68c806e662e.
      
      * Code review feedback: #[cfg(test)] for new_dummy() in metrics
      
      * Code review feedback: break the disputes generation logic in separate functions
      
      * Code review feedback - align_eight
      
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      Co-authored-by: default avatarAndronik <[email protected]>
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      20e56a45
  6. Apr 12, 2022
    • Tsvetomir Dimitrov's avatar
      Add staging runtime api (#5048) · fd020c07
      Tsvetomir Dimitrov authored
      * Move `trait ParachainHost` to a separate version independent module
      
      `trait ParachainHost` is no longer part of a specific primitives
      version. Instead there is a single trait for stable and staging api
      versions. The trait contains stable AND staging methods. The latter are
      explicitly marked as unstable.
      
      * Fix `use` primitives
      
      `polkadot_primitives::v2` becomes `polkadot_primitives::runtime_api`
      
      * Staging API declaration and stubs
      
      Introduces the concept for 'staging functions' in runtime API. These
      functions are still in testing and they are meant to be used only
      within test networks (Westend).
      They coexist with the stable calls for technical reasons - maintaining
      different runtime APIs for different networks is hard to implement.
      
      Check the doc comments in source files for more details how the staging
      API should be used.
      
      * Add new staging method - get_session_disputes()
      
      Add `staging_get_session_disputes` to `ParachainHost` as the first
      method of the staging API.
      
      * Hide vstaging runtime api implementations  behind feature flag
      
      * Fix test runtime
      
      * fn staging_get_session_disputes() is renamed to fn staging_get_disputes()
      fd020c07
  7. Apr 06, 2022
  8. Apr 04, 2022
  9. Mar 10, 2022
  10. Mar 09, 2022
    • asynchronous rob's avatar
      Finish migration to v2 primitives (#5037) · 49f7e5cc
      asynchronous rob authored
      * remove v0 primitives from polkadot-primitives
      
      * first pass: remove v0
      
      * fix fallout in erasure-coding
      
      * remove v1 primitives, consolidate to v2
      
      * the great import update
      
      * update runtime_api_impl_v1 to v2 as well
      
      * guide: add `Version` request for runtime API
      
      * add version query to runtime API
      
      * reintroduce OldV1SessionInfo in a limited way
      49f7e5cc
  11. Feb 25, 2022
  12. Jan 20, 2022
    • Bernhard Schuster's avatar
      [runtime] follow up relay chain cleanups (#4657) · b7a05fd4
      Bernhard Schuster authored
      
      
      * fix miscalculation of remaining weight
      
      * rename a var
      
      * move out enforcing filtering by dropping inherents
      
      * prepare for dispute statement validity check being split off
      
      * refactor
      
      * refactor, only check disputes we actually want to include
      
      * more refactor and documentation
      
      * refactor and minimize inherent checks
      
      * chore: warnings
      
      * fix a few tests
      
      * fix dedup regression
      
      * fix
      
      * more asserts in tests
      
      * remove some asserts
      
      * chore: fmt
      
      * skip signatures checks, some more
      
      * undo unwatend changes
      
      * Update runtime/parachains/src/paras_inherent/mod.rs
      
      Co-authored-by: default avatarsandreim <[email protected]>
      
      * cleanups, checking CheckedDisputeStatments makes no sense
      
      * integrity, if called create_inherent_inner, it shall do the checks, and not rely on enter_inner
      
      * review comments
      
      * use from impl rather than into
      
      * remove outdated comment
      
      * adjust tests accordingly
      
      * assure no weight is lost
      
      * address review comments
      
      * remove unused import
      
      * split error into two and document
      
      * use assurance, O(n)
      
      * Revert "adjust tests accordingly"
      
      This reverts commit 3cc9a3c449f82db38cea22c48f4a21876603374b.
      
      * fix comment
      
      * fix sorting
      
      * comment
      
      Co-authored-by: default avatarsandreim <[email protected]>
      b7a05fd4
  13. Jan 11, 2022
  14. Jan 05, 2022
  15. Jan 01, 2022
  16. Dec 30, 2021
    • Sergey Pepyakin's avatar
      configuration: Rename validation_upgrade_{frequency -> cooldown} (#4635) · 72a92eaf
      Sergey Pepyakin authored
      This just renames a member of `HostConfiguration` from
      validation_upgrade_frequency to -//-_cooldown.
      
      As was already pointed out in #4460 the existing name is a misnomer, the
      member actually represents a minimum time period between upgrades, which
      is neatly expressed by a word cooldown.
      
      I've been planning this rename already for some time and the term is
      already used in paras module:
      
      https://github.com/paritytech/polkadot/blob/1394b70d/runtime/parachains/src/paras.rs#L1568-L1574
      72a92eaf
  17. Dec 28, 2021
  18. Dec 27, 2021
  19. Dec 21, 2021
  20. Dec 16, 2021
  21. Dec 14, 2021
  22. Dec 10, 2021
    • Bernhard Schuster's avatar
      remove Default from CandidateDescriptor (#4484) · 0f1a9fb1
      Bernhard Schuster authored
      
      
      * remove Default from CandidateHash
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * chore: fmt
      
      * remove backed candidate default
      
      * Partial migration away from CandidateReceipt::default
      
      * Remove more CandidateReceipt defaults
      
      * fmt
      
      * Mostly remove CommittedCandidateReceipt default usage
      
      * Remove CommittedCandidateReceipt
      
      * Remove more Defaults from polakdot primitives v1 + fmt
      
      * Remove more Default from polkadot primites v1
      
      * WIP trying to get overseer example + tests to compile
      
      * feat: add primitives test helpers
      
      * reduce deps of helper
      
      * update primitive helpers
      
      * make candidate validation compile
      
      * fixup cargo lock
      
      * make av-store compile
      
      * fixup disputes coordinator tests
      
      * test: fixup backing
      
      * test: fixup approval voting
      
      * fixup bitfield signing
      
      * test: fixup runtime-api
      
      * test: fixup availability dist
      
      * foxi[ pverseer test]
      
      * remove some Defaults, remove bounds from `dummy`
      
      All `fn dummy` in primitives need to be removed anyways.
      This aids in the transition.
      
      * it's a test helper, so always use std
      
      * test: fixup parachains runtime tests
      
      Excluding benches.
      
      * fix keyring
      
      * fix paras runtime properly, no more default
      
      * Remove fn dummy() usage from approval voting
      
      * Move TestCandidateBuilder out of av store to test helpers
      
      * Make candidate validation tests pass
      
      * Make most dispute coirdinator tests pass
      
      * Make provisioner tests work
      
      * Make availability recovery tests work with test helpers
      
      * Update polkadot-collator-protocol tests
      
      * Update statement distribution tests
      
      * Update polkadot overseer examples and tests
      
      * Derive default for validation code so we don't break unrelated things
      
      * Make para runtime test pass (no bench)
      
      * Some more work
      
      * chore: cargo fmt
      
      * cargo fix
      
      * avoid some Default::default
      
      * fixup dispute coordinator test
      
      * remove unused crate deps
      
      * remove Default::default wherever possible, replace by dummy_* for the most part
      
      * chore: cargo fmt
      
      * Remove some warnings
      
      * Remove CommittedCandidateReceipt dummy
      
      * Remove CandidateReceipt dummy
      
      * Remove CandidateDescriptor dummy
      
      * Remove commented out code
      
      * Fix para runtime tests
      
      * chore: nightly
      
      * Some updates to the builder
      
      * Dynamically adjust mock head data size
      
      * Make dispute cooridinator tests work
      
      * Fix test candidate_backing_reorders_votes work
      
      * +nightly-2021-10-29 fmt
      
      * Spelling and remove a default use in builder
      
      * Various clean up
      
      * More small updates
      
      * fmt
      
      * More small updates
      
      * Doc comments for test helpers
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras_inherent.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_parachains_paras_inherent.rs
      
      * Update lib.rs
      
      * review comments
      
      * fix warnings
      
      * fix test by using correct candidate receipt relay parent
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: default avataremostov <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      0f1a9fb1
  23. Dec 06, 2021
  24. Dec 03, 2021
  25. Dec 01, 2021
    • antonio-dropulic's avatar
      Squashed 'bridges/' changes from 23dda62482..407bf44a8a · 392447f5
      antonio-dropulic authored
      407bf44a8a add missing license header (#1204)
      9babb19810  Custom relay strategy (#1198)
      c287872a11 fix clippy things (#1200)
      3a40e62789 Expose some const value and type (#1186)
      32b61476d1 increase sleep before connectingMillau (#1195)
      aabe7041fa revert messages transactions mortality (#1194)
      3651f4f909 Message transactions mortality (#1191)
      364d6e155d Bump dependencies (#1180)
      f0389acc08 cargo +nightly fmt --all (#1192)
      b270b6a016 Unify error enums in substrate and ethereum clients with `thiserror` (#1094)
      58c4946f74 Limit max call size of Rialto/Millau runtimes (#1187)
      fd56a8cd56 Add UI to the deployment (#1047)
      16f01dc736 Westend -> Millau alerts are pending before notifications are sent (#1184)
      5628c11ece replace collective flip with babe randomness in Rialto (#1188)
      1094a63b00 ignore another (pretty bad) RUSTSEC (#1185)
      379fe323ea fix/ignore cargo deny issues (#1183)
      92af5e6e64 additional log in finality relay + rephrase "failed" (#1182)
      b996a3b681 Rialto parachain in test deployments (#1178)
      28d9332b44 Resubmit transactions strategy for Polkadot/Kusama (#1175)
      d0172c6847 Playing with CI (#1179)
      fb6f42456d fix checks order when registering parachain (#1177)
      ee828c005a Register-parachain subcommand of substrate-relay (#1170)
      8cd2b1a112 Token swap pallet benchmarks (#1174)
      bb811accb1 fix collision with westend bridge (#1172)
      8d2fba70ed add token swaps to test deployments (#1169)
      b6d1bdfe2c publish rialto parachain collator image (#1171)
      834ae4a10a Fix OutboundLaneData types (#1159)
      5ee0ea1626 copypasted -> copied (#1168)
      c3bb835f18 fix spelling (#1167)
      f90d041dc9 Upgrade `jsonrpsee` to v0.3 (#1051)
      598c9b6d0d add some basic tests for swap tokens (#1164)
      05e88c61f5 publish images when tag of specific format(e.g. v2021-09-27 + v2021-09-27-1) is published (#1166)
      7f3f94a6e0 Fix CI again (#1165)
      ff37de332f Move calculation relayer reward into `MessageDeliveryAndDispatchPayment` (#1153)
      36fbba839b fix clippy warning (#1163)
      16da44d018 explicit wasm build (#1158)
      c9c8226449 Match substrate's fmt (#1148)
      2fdd7f3e5e Fix/ignore clippy warnings (#1157)
      43dfcc2686 Adding LookupAddress (#1156)
      951eaa5582 Add rialto-parachain runtime and node (#1142)
      803d266d61 Rename MessageId -> BridgeMessageId (#1152)
      5f234484fc Box large arguments of GRANDPA pallet (#1154)
      cf9abc1011 Fix spelling (#1150)
      ab83ba2e58 Relay subcommand that performs token RLT <> MLAU token swap (#1141)
      832536caf0 Polkadot <> Kusama relayers (#1122)
      6d0daa8975 Add `OnMessageAccepted` callback (#1134)
      5d03a20b3e Integrate token swap pallet into Millau runtime (#1099)
      ea4cfa833e Adding MultiAddress type and ValidationCodeHash (#1139)
      c20325a784 Add tests for `Raw` and `BridgeSendMessage` enum `Call` variants (#1125)
      6d802416e2 increase pause before pining Rialto nodes (#1137)
      b54fa56b62 calculate fee using full message payload (#1132)
      ca5d8178f5 Add parachain pallets to rialto runtime (#1053)
      9eaae4142e fix transaction resubmitter limits for Millau -> Rialto transactions (#1135)
      9d4e17783c add --mandatory-headers-only cli option to complex relay (#1129)
      1c5e0ec1cb Add local CI info to README (#1131)
      a8e0929e14 chore: spellchecker fixes (#1130)
      3b8e2118e3 set fee for importing mandatory headers to zero (#1127)
      49bba9aa52 another bunch of words for spellchecker (#1128)
      8a72eafef6 Increase pause before messages generation start (#1126)
      1f0ba9a191 Move some associated types from relay_substrate_client::Chain to bp_runtime::Chain (#1087)
      74bc1a5b54 Transactions resubmitter (#1083)
      21ba001f26 log max balance drop when sending message (#1117)
      638a7ddffa Code Cleaning (#1124)
      be6555c51b Fix buildah logout (#1120)
      87539c4a98 Format code work (#1116)
      526fe7fdd7 fix spelling (#1119)
      bd4ce7f241 Fix spelling (#1118)
      3c1147858e added missing constants to Kusama/Polkadot primitives (#1114)
      52093b22ab Fix delivery transaction estimation used by rational relayer (#1109)
      77a2f2fbed Remove fund account checks from upgrade. (#1111)
      824334802b Rename param and update comment (#1108)
      d7784bfe06 Fix spellcheck (#1110)
      0b18f5906a Refactor substrate messages source and substrate messages target (#1105)
      b27240bbff fix compilation (#1107)
      9697da4fe8 Emit mortal transactions from relay (#1073)
      b29396c077 Change vault vars type to env vars (#1084)
      35e0bbdc0c Make clippy mandatory. (#1103)
      a517e8541f Remove unused deps (#1102)
      873dae608a Remove unnessary deps (#1101)
      13450b74ee Stored conversion rate updater (#1005)
      74389829f3 [BREAKING] Migrate messages pallet to frame v2 (#1088)
      424da938dd README fix (#1100)
      865744c909 upgrade currency exchange pallet to frame v2 (#1097)
      b5038148b3 Add missing docs (#1095)
      0791e911c1 Common crate for substrate-relay (#1082)
      3834c9d880 Update high-level-overview.md (#1093)
      c93553face Increase the time window for messaging alerts. (#1092)
      8b9cc3cecd migrate pallet-shift-session-manager to frame v2 (#1090)
      dc91813c22 migrate eth PoA pallet to frame v2 (#1091)
      f16bb098cc Migrate dispatch pallet  to frame v2 (#1089)
      19f4325348 Bridge/This Chain Ids should be exposed as constants on pallet level. (#1085)
      6381122df7 Change ChainSpec::from_genesis for Rialto and Millau chains to reflect the chain names. (#1079)
      0f1d33e973 Make CI happy again (#1086)
      238e65d96f fix typo (#1080)
      fc008457b6 Token-swap-over-bridge pallet (#944)
      3fb97fa5ef Fix full spellcheck (#1076)
      eae4ed7170 fixed wrong trace (#1075)
      219a0fad04 merge two weight-related loops in messages pallet (#1071)
      fc85632fdb increase_message_fee depends on stored mesage size (#1066)
      530f37a23b companion for https://github.com/paritytech/polkadot/pull/3507 (#1067)
      53b8cba683 sc_basic_authorship=trace for millau nodes (#1074)
      9874e05e98 Improve traces of message generator scripts (#1069)
      7b5ee84fbb extract message_details impl into runtime common (#1070)
      5a4aed5a8b refund weight for mot pruning messages (#1062)
      90e3d1e111 Fix Westend -> Millau sync (#1064)
      427d30ddfc When restarting client, also "restart" tokio runtime (#1065)
      d47c05eeef Change get pipeline sensitive variables from Vault instead of GitLab settings (#1063)
      d775a85415 use tokio reactor to execute jsonrpsee futures (#1061)
      15c8cd61cb Use BABE to author blocks on Rialto (previously: Aura) (#1050)
      5186293500 Allow reading suri && password override from file (#1059)
      b506298262 Update jsonrpsee reference (#1049)
      1734d00517 enable weight fee adjustent in Rialto/Millau (#1044)
      607265afae Pay dispatch fee at target chain cli option (#1043)
      ce79ef91be bump dependencies before start referencing polkadot repo (#1048)
      924fa24f6d Cli option for greedy relayer + run no-losses relayer by default (#1042)
      e21eba7b59 Yrong README Fixup + M1 Fixes (#1045)
      20d08204a2 Confirm delivery detects when more than expected messages are confirmed (#1039)
      994b846b52 pre and post dispatch weights of OnDeliveryConfirmed callback (#1040)
      1dd5297e84 give real value to Rialto and Millau tokens (#1038)
      035bee8715 Use real conversion rate in greedy relayer strategy (#1035)
      9cfaecd0f7 fixed metrics prefix (#1037)
      1d8d224937 Use kebab-case for bridge arguments (#1036)
      f30a4c79a6 Shared reference to conversion rate metric value (#1034)
      c34d7a5cbb estimate transaction fee (#1015)
      93404b18bb change alert period from 2m to 10m for Westend -> Millau (GRANDPA or public node itself is lagging sometimes) (#1032)
      
      git-subtree-dir: bridges
      git-subtree-split: 407bf44a8a5f4e60aceef2dc755cd9ff09929ac3
      392447f5
  26. Nov 30, 2021
    • Sergey Pepyakin's avatar
      pvf-precheck: Add `PvfCheckStatement` to polkadot-primitives (#4406) · 5e5aa668
      Sergey Pepyakin authored
      * pvf-precheck: Add `sign` in subsystem-util
      
      Right now, most of operations that sign stuff in polkadot protocol are
      handled by a very convenient tool - `Signed`. However `Signed` assumes
      that whatever is signed is anchored to some `parent_hash` which works
      for most cases, but does not work for others.
      
      One instance of such a case is pre-checking (#3211). There validators
      submit signed votes on-chain. A vote is valid for the entire session. If
      we were to use `Signed` we would have to root a vote in some block of
      that session and during vote verification check that this block is
      indeed within the session. This is especially annoying since we agreed
      to use unsigned extrinsics to submit votes and we need to make the
      unsigned extrinsic validation as slim as possible.
      
      (FWIW, the definition of a pre-checking vote can be seen in the next
      diff in the stack)
      
      That's the reason why we opted-out from using `Signed` for pre-checking
      and decided to go with the manual signing approach. Almost every piece
      of machinery is in place except for signing which is presented in this
      PR.
      
      * pvf-precheck: Add `PvfCheckStatement` to polkadot-primitives
      
      This is an insubstantial PR that just unlocks PRs down the line. This PR
      is a part of #3211.
      
      Regarding the `PvfCheckStatement` struct itself: this is a structure
      that will be used to convert from/into the binary representation and
      ultimately will be used to sign and submit votes onto chain.
      5e5aa668
  27. Nov 23, 2021
    • Zeke Mostov's avatar
      Inherent filtering follow up (#4305) · 90e12734
      Zeke Mostov authored
      
      
      * Add feature more feature gating for benchmarking + tests
      
      * New line
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras_inherent.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_parachains_paras_inherent.rs
      
      * Do not assume we use max validators per core
      
      * Use kusama weights for rococo (hopefully temp)
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras_inherent.rs
      
      * Add more validity votes when neccesary
      
      * Some fixes for the last commit
      
      * Restore westend weights
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras_inherent.rs
      
      * Revert bad westend weights write
      
      * Make sure to update val idx before skipping
      
      * Fix validity vote range to max at group size'
      
      * Temp setup for rococo
      
      * cargo run --quiet --release --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras_inherent --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./runtime/rococo/src/weights/runtime_parachains_paras_inherent.rs --header=./file_header.txt
      
      * Augment generated Rococo weights
      
      * Make it compile
      
      * Revert range for enter_backed_candidates_variable
      
      * Delete runtime/kusama/src/weights/runtime_paras_paras_inherent.rs
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      90e12734
  28. Nov 19, 2021
    • Robert Klotzner's avatar
      Dispute spam protection (#4134) · 25974f20
      Robert Klotzner authored
      
      
      * Mostly notes.
      
      * Better error messages.
      
      * Introduce Fatal/NonFatal + drop back channel participation
      
      - Fatal/NonFatal - in order to make it easier to use utility functions.
      - We drop the back channel in dispute participation as it won't be
      needed any more.
      
      * Better error messages.
      
      * Utility function for receiving `CandidateEvent`s.
      
      * Ordering module typechecks.
      
      * cargo fmt
      
      * Prepare spam slots module.
      
      * Implement SpamSlots mechanism.
      
      * Implement queues.
      
      * cargo fmt
      
      * Participation.
      
      * Participation taking shape.
      
      * Finish participation.
      
      * cargo fmt
      
      * Cleanup.
      
      * WIP: Cleanup + Integration.
      
      * Make `RollingSessionWindow` initialized by default.
      
      * Make approval voting typecheck.
      
      * Get rid of lazy_static & fix approval voting tests
      
      * Move `SessionWindowSize` to node primitives.
      
      * Implement dispute coordinator initialization.
      
      * cargo fmt
      
      * Make queues return error instead of boolean.
      
      * Initialized: WIP
      
      * Introduce chain api for getting finalized block.
      
      * Fix ordering to only prune candidates on finalized events.
      
      * Pruning of old sessions in spam slots.
      
      * New import logic.
      
      * Make everything typecheck.
      
      * Fix warnings.
      
      * Get rid of obsolete dispute-participation.
      
      * Fixes.
      
      * Add back accidentelly deleted Cargo.lock
      
      * Deliver disputes in an ordered fashion.
      
      * Add module docs for errors
      
      * Use type synonym.
      
      * hidden docs.
      
      * Fix overseer tests.
      
      * Ordering provider taking `CandidateReceipt`.
      
      ... To be kicked on one next commit.
      
      * Fix ordering to use relay_parent
      
      as included block is not unique per candidate.
      
      * Add comment in ordering.rs.
      
      * Take care of duplicate entries in queues.
      
      * Better spam slots.
      
      * Review remarks + docs.
      
      * Fix db tests.
      
      * Participation tests.
      
      * Also scrape votes on first leaf for good measure.
      
      * Make tests typecheck.
      
      * Spelling.
      
      * Only participate in actual disputes, not on every import.
      
      * Don't account backing votes to spam slots.
      
      * Fix more tests.
      
      * Don't participate if we don't have keys.
      
      * Fix tests, typos and warnings.
      
      * Fix merge error.
      
      * Spelling fixes.
      
      * Add missing docs.
      
      * Queue tests.
      
      * More tests.
      
      * Add metrics + don't short circuit import.
      
      * Basic test for ordering provider.
      
      * Import fix.
      
      * Remove dead link.
      
      * One more dead link.
      
      Co-authored-by: default avatarLldenaurois <[email protected]>
      25974f20
  29. Nov 16, 2021
    • Bernhard Schuster's avatar
      move paras inherent filtering to runtime (#4028) · 1aa6a4ab
      Bernhard Schuster authored
      
      
      * move things around, add filter methods
      
      * validator keys, modify availability bitfields according to disputes
      
      * simplify, keep the filter -> sanitize generic for both usecases
      
      * minor
      
      * assure tests still work, reduce changeset
      
      * integration
      
      * start entropy passing
      
      * fixins
      
      * compile, 1 failing test
      
      * filter with coverage
      
      * fixins
      
      * Update runtime/parachains/src/paras_inherent.rs
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      
      * slip of the pen
      
      * improve test cases
      
      * misc
      
      * fix
      
      * fixins
      
      * test avoid extra into() calls in assert_noop!
      
      * chores
      
      * ff
      
      * test fixup superfluous into call
      
      * chore: pfmt
      
      * improve apply_block_weight_limit to try to maximize the number of sufficiently backed
      
      blocks and add extra bitfields in a round-robin fashion
      
      * new code treats the lack of backed candidates as ok
      
      * Use vrf based entropy
      
      * fixup vrf random
      
      * add warn
      
      * slip of the pen
      
      * fixup
      
      * assure ordering
      
      * rethink apply_weights
      
      * mock
      
      * use a closure as predicate check
      
      * extract and use DisputedBitfield
      
      * chore: simplify
      
      * remove stray dbg
      
      * chore: fmt
      
      * address feedback
      
      * fix test, halfway there
      
      * stage1
      
      * dbg stuff
      
      * make group selection align
      
      * fix session index
      
      * fix wrongly returned candidates
      
      * cleanup
      
      * chore fmt
      
      * fix ensure check
      
      * make good case test work
      
      * more tests for bitfields
      
      * create sanitize_backed_candidates
      
      * fixup tests
      
      * update guide
      
      * add check referenced in the guide
      
      * improve weights code
      
      * fmt
      
      * fixins
      
      * Update roadmap/implementers-guide/src/runtime/inclusion.md
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * compiling + address review
      
      * add comments
      
      * fix weight calc
      
      * address review comments and test failure
      
      * fix
      
      * fix: condition
      
      * Fix random_sel function
      
      * Fix overlength block check
      
      * Zeke + Ladi commit for disputes filtering + integration test builder + runtime benchmarks + integration tests
      
      * Add benchmarks for code upgrades
      
      * Code upgrade bench; Feature gate TestWeightInfo
      
      * Try and make CI happier
      
      * Feature gate enter test to not(benchmarks)
      
      * Make sure no unused imports/fn
      
      * refactor, re-use, the beginning
      
      * Fix issue with frame benchmarking dep compilation
      
      * More precise feature gating for some derives
      
      * integrate piece-wise
      
      * foo
      
      * fixins
      
      * chore fmt
      
      * fixins
      
      * rename const generic
      
      * Update runtime/parachains/src/paras_inherent.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Fix compilation
      
      * limit to test
      
      * remove unused spam slots
      
      * spellcheck
      
      * remove a tick, fix a typo
      
      * Add Code upgrade weights
      
      * comment improvements + >=
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * remove another tick
      
      * Update runtime/parachains/src/paras_inherent/benchmarking.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * saturating fixins + some spaces
      
      * fix
      
      * benchmarking - preliminary results
      
      * Add training wheels
      
      * Refactor some early exit logic for enter
      
      * Gracefully handle filtering bitfields & candidates (#4280)
      
      This updates the logic for sanitize_bitfields and sanitize_backed_candidates to never error when there is an issue, but instead to simply skip the problematic items.
      
      * Refactor inherent data weight limiting logic (#4287)
      
      * Apply suggestions from code review
      
      * Update runtime/parachains/src/builder.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update runtime/parachains/src/builder.rs
      
      * Update runtime/parachains/src/paras_inherent.rs
      
      * final pass
      
      * Run cargo +nightly-2021-10-29 fmt
      
      * Update implementors guide with `sanitize_*` & `enter` (#4294)
      
      * Make spell check happier
      
      * Make wasm runtimes compile with benchmarks enabled (#4303)
      
      * comment stuff out, use old toml
      
      * Seems to be working?
      
      * Remove feature gating from builder
      
      * Remove commented out stuff
      
      * Remove generic from digest
      
      * Update weight files for runtime
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      Co-authored-by: default avatarLldenaurois <[email protected]>
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      1aa6a4ab
  30. Nov 12, 2021
  31. Oct 22, 2021
    • Chris Sosnin's avatar
      Introduce new Runtime API endpoint for fetching the validation data (#3728) · ad33b874
      Chris Sosnin authored
      * Introduce new Runtime API endpoint
      
      `persisted_validation_data_with_code_hash` that will be used
      by the candidate validation subsystem in order to decrease amount
      of runtime API requests.
      
      * Node-side part of new runtime API request
      
      * Define code hash getter via macro
      
      * Rename new endpoint to `assumed_validation_data`
      
      * Docs for runtime API impl of new endpoint
      
      * AssumedValidationData specialized request function
      
      * fmt
      ad33b874
  32. Oct 06, 2021
    • Bernhard Schuster's avatar
      collect included disputes from on-chain (#3924) · 30bdc8f5
      Bernhard Schuster authored
      
      
      * dummy: impl another runtime API
      
      * query the on chain disputes, and inform self
      
      * make use of the refactor
      
      * minro
      
      * SPLIT ME
      
      * write dispute values
      
      * wip
      
      * impl for all runtimes
      
      * chore: fmt
      
      * [] -> get
      
      * fixup mock runtime
      
      * fixup
      
      * fixup discovery for overseer init
      
      * chore: fmt
      
      * spellcheck
      
      * rename imported_on_chain_disputes -> on_chain_votes
      
      * reduction
      
      * make it mockable
      
      * rename and refactor
      
      * don't query on chain info if it's not needed
      
      * yikes
      
      * fmt
      
      * fix test
      
      * minimal fix for existing tests
      
      * attempt to fetch the session info from the rolling window before falling back
      
      * moved
      
      * comments
      
      * comments
      
      * test for backing votes
      
      * rename
      
      * Update runtime/polkadot/src/lib.rs
      
      * chore: spellcheck + dict
      
      * chore: fmt
      
      * fixup cache size
      
      * add warning
      
      * logging, rationale, less defense
      
      * introduce new unchecked, that still checks in debug builds
      
      * fix
      
      * draft alt approach
      
      * fix unused imports
      
      * include the session
      
      * Update node/core/dispute-coordinator/src/real/mod.rs
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      
      * provide where possible
      
      * expand comment
      
      * fixin
      
      * fixup
      
      * ValidityVote <-> ValidityAttestation <-> CompactStatement has a 1:1 representation
      
      * mark TODO
      
      * Update primitives/src/v1/mod.rs
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      
      * address review comments
      
      * update docs
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      30bdc8f5
  33. Sep 22, 2021
    • Keith Yeung's avatar
      Add benchmarking for parachain runtime paras pallet (#3888) · db0b7e00
      Keith Yeung authored
      
      
      * Crate basic barebones benchmarking infrastructure for paras
      
      * Fill in benchmarking contents
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
      
      * Use autogenerated WeightInfos for kusama and westend
      
      * cargo fmt
      
      * Use saturating_sub
      
      * Add missing import
      
      * Try and hit the worst possible time complexity as much as possible
      
      * cargo fmt
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
      
      * Add a MAX_HEAD_DATA_SIZE constant
      
      * Prefill vectors with sample data for worst case complexity
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
      
      * Improve comment on SAMPLE_SIZE constant
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      db0b7e00
  34. Sep 15, 2021
    • Andrew Jones's avatar
      Companion for #8615: enrich metadata with type information (#3336) · 4c7539ca
      Andrew Jones authored
      
      
      * Use beefy branch with scale-info
      
      * Add patches
      
      * Sprinkle some TypeInfo derives
      
      * Add some TypeInfo deriv
      
      * Cargo.lock
      
      * Derive TypeInfo and skip type params for Xcm types
      
      * Cargo.lock
      
      * Fix up scale_info bounds attributes
      
      * Fix up dependencies
      
      * Use my own beefy-primitives branch
      
      * Bump BEEFY
      
      * Update patches
      
      * Add some scale-info dependencies and TypeInfo derives
      
      * More TypeInfo decoration
      
      * Update scale-info
      
      * Some TypeInfos and remove more Event pallet::metadata
      
      * Moar TypeInfos
      
      * TypeInfos galore, fix up metadata runtime API
      
      * TypeInfo
      
      * TypeInfos, update other runtime metadata APIs
      
      * Fix up Kusama, comment out some `usize` QueueSize parameter types
      
      * Remove local diener patches
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Update to scale-info crates.io release
      
      * Update primitive-types branch
      
      * Update pallet-beefy to use custom branch
      
      * Update other parity-common deps
      
      * Update parity-common patches
      
      * bump a bunch of deps in parity-common
      
      * Remove parity-common patches
      
      * Bump finality-grandpa version
      
      * Cargo.lock
      
      * Update scale-info to 0.9.1
      
      * Add recursion_limit for runtime-parachains
      
      * Add some scale_info attributes
      
      * Cargo.lock
      
      * Revert finality-grandpa bump
      
      * Cargo.lock, scale-info update
      
      * cargo update
      
      * Make sure using patched version of finality-grandpa
      
      * Use patched scale-info
      
      * Update to scale-info 0.10.0
      
      * Update finality-grandpa
      
      * Cargo.lock
      
      * Update beefy deps
      
      * Update beefy deps again
      
      * Add scale-info dependency
      
      * Remove deprecated pallet::metadata attributes.
      
      * Add some missing scale-info deps and derives
      
      * Use some variant struct call syntax
      
      * Add missing TypeInfo impl
      
      * Add some more TypeInfo impls
      
      * Convert some call enum struct variant constructors
      
      * More scale-info deps and derives
      
      * Call enum struct variants
      
      * TypeInfo derives
      
      * Call enum variant structs
      
      * scale-info deps and derives
      
      * Call enum variant struct constructors
      
      * Use beefy-primitives scale-info feature
      
      * Use grandpa-bridge-gadget master branch
      
      * Remove finality-grandpa patch
      
      * Add missing scale_info dependency and derive
      
      * Fix up some call variant constructors
      
      * Add missing scale_info dependency
      
      * Fix some test errors
      
      * More TypeInfo derives
      
      * More call variant structs
      
      * Call variant structs in tests
      
      * Cargo.lock
      
      * Fmt
      
      * Fix more call struct variants
      
      * Another call struct variant
      
      * add scale-info/std features explicitly
      
      * More call struct variants
      
      * Add missing scale-info dependency
      
      * Fmt
      
      * review: activate scale-info/std where missing
      
      * Remove some duplicate std feature activation
      
      * review: add scale_info bounds() attr
      
      * More call variant structs
      
      * Remove recursion limit
      
      * Update beefy-primitives
      
      * Update beefy-primitives
      
      * Fix simnet call variant struct errors
      
      * Fmt
      
      * cargo update -p beefy-primitives
      
      * Add some missing TypeInfo derives
      
      * Fix some call variants
      
      * Fix some call variant underscores
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Add missing TypeInfo derive
      
      * Add some more missing TypeInfo derives
      
      * Even more missing TypeInfo derives
      
      * Add TypeInfo derives to new xcm types
      
      * Fmt
      
      * Cargo.lock
      
      * Add missing TypeInfo impls
      
      * Cargo.lock
      
      * More missing TypeInfos
      
      * Fixes
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Add TypeInfo impls to xcm v2
      
      * Update to scale-info 1.0
      
      * Update finality-grandpa 0.14.4, patch for now
      
      * Update beefy
      
      * Remove patched finality-grandpa
      
      * Add TypeInfo impl to Outcome
      
      * Fixes
      
      * Call variant struct
      
      * Call variant struct
      
      * Fix test
      
      * Add TypeInfo impl
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Cargo.lock
      
      * git checkout master Cargo.lock
      
      * update Substrate
      
      * Add missing scale-info features for beefy-primitives
      
      * Fmt
      
      * Remove check for now
      
      * Update beefy-primitives, removes scale-info feature
      
      * Update beefy-primitives again
      
      Co-authored-by: default avataradoerr <[email protected]>
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      4c7539ca
  35. Sep 14, 2021
  36. Aug 03, 2021
  37. Aug 02, 2021