Skip to content
  1. 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
  2. Apr 04, 2022
  3. Mar 24, 2022
    • Vsevolod Stakhov's avatar
      Try to fix out of view statements (#5177) · af94fc95
      Vsevolod Stakhov authored
      This issue happens when some peer sends a good but already known Seconded statement and the statement-distribution code does not update the statements_received field in the peer_knowledge structure. Subsequently, a Valid statement causes out-of-view message that is incorrectly emitted and causes reputation lose.
      
      This PR also introduces a concept of passing the specific pseudo-random generator to subsystems to make it easier to write deterministic tests. This functionality is not really necessary for the specific issue and unit test but it can be useful for other tests and subsystems.
      af94fc95
  4. Mar 23, 2022
  5. Mar 15, 2022
  6. Mar 14, 2022
  7. 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
  8. Mar 03, 2022
    • cheme's avatar
      paritydb support for parachains db. (#4838) · d5ddb1a8
      cheme authored
      * parity db subsystem without cache and no splitted column
      
      * fmt
      
      * fix path (auto from parity-db fail)
      
      * lru cache for db column with cache
      
      * Revert "lru cache for db column with cache"
      
      This reverts commit ae177bc5e107a075eff6a21f651218ada6599b74.
      
      * Write_lock mutex
      
      * theoric code for bridges
      
      * revert changes
      
      * Revert bridge changes
      
      * fix spec_version
      
      * update parity db
      
      * test purge-db
      
      * Use specific ordered collection with paritydb.
      
      * Revert "Use specific ordered collection with paritydb."
      
      This reverts commit 8b66d0a4ae914cba1af0f44050d45dd6d9327c6b.
      
      * fix chain selection tests.
      
      * remove patch
      
      * fix auto.
      
      * Remove useless exists directory method
      
      * purge chain without parity-db removal
      
      * spellcheck
      
      * renamings and filtering.
      
      * fix assertion
      
      * format
      
      * update parity-db and fmt
      
      * Auto keep using rocksdb when it exists.
      
      * Revert "Auto keep using rocksdb when it exists."
      
      This reverts commit cea49b32ae590bdce31fed5c45f3c028ae0c7564.
      
      * Update kvdb version.
      d5ddb1a8
  9. Feb 26, 2022
    • Falco Hirschenberger's avatar
      Add benchmarking for parachain runtime `ump` pallet (#3889) · fc919376
      Falco Hirschenberger authored
      
      
      * Claim grounds, not working yet.
      
      * still wip, nothing to see
      
      * Module visibility problem
      
      * Add benchmarks for all parachain-enabled chains
      
      * Add missing mock weights
      
      * Fix mock weight info
      
      * Add max-weight to extrinsic weight
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_ump.rs
      
      * sorting declarations
      
      * Use a maximum size message to benchmark worst-case
      
      * remove warning
      
      * Fix msg size overflow in tests
      
      * Use benchmarked weight in PostInfo
      
      * Update runtime/parachains/src/ump.rs
      
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      
      * Delete obsolete file
      
      * Compile fix
      
      * Fix spelling
      
      * Add benchmark for `UmpSink::process_upward_message`
      
      It benchmarks the time to process a message, mainly the size-dependent
      decoding time. This is used interally for refunding weight from
      `service_overweight`
      
      * Fix warning
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_ump.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_ump.rs
      
      * Update runtime/parachains/src/ump.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Give mock weights for tests a name instead of ()
      
      * Add benchmark for `initializer_on_new_session` aka.
      `perform_outgoing_para_cleanup`
      
      * Remove unnescessary pub specifier and change folding to a for loop
      
      suggestions by @pepyakin
      
      
      
      * Update runtime/parachains/src/ump.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update runtime/parachains/src/ump.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Add comment on weight calculation and expected slight overestimation
      
      * Introduce a size bound constant for upward messages
      
      * Use KiB not kB for message size bound
      
      * Enforce max-message size bound
      
      * Use a const for upward message size bound.
      
      * Decrease max_upward_message_sizes to 50KiB as suggested by @pepyakin
      
      * Fix creating overweight messages
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/rococo/src/weights/runtime_parachains_ump.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_ump.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_ump.rs
      
      * Remove unused variable
      
      * Rename benchmark function to the function actually benchmarked and some
      code cleanup
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_ump.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/rococo/src/weights/runtime_parachains_ump.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_ump.rs
      
      * Better variable naming
      
      * Fix build
      
      * Fix build
      
      * Fix some remarks from @pepyakin
      
      
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avataremostov <[email protected]>
      fc919376
  10. Feb 24, 2022
  11. Feb 22, 2022
  12. Feb 09, 2022
  13. Feb 07, 2022
  14. Jan 26, 2022
  15. Jan 18, 2022
  16. Jan 13, 2022
  17. Jan 10, 2022
  18. Jan 07, 2022
    • Sergey Pepyakin's avatar
      pvf-precheck: PVF pre-checker subsystem (#4643) · d752f866
      Sergey Pepyakin authored
      This commit implements the last major piece of #3211: the subsystem that
      tracks PVFs that require voting, issues pre-check requests to
      candidate-validation and makes sure that the votes are submitted to the
      chain.
      d752f866
  19. Jan 06, 2022
    • Adrian Catangiu's avatar
      Companion for Substrate#10568 - Add new BEEFY RPC (#4638) · 5cc5b674
      Adrian Catangiu authored
      * support best Beefy RPC through arc<mutex>
      
      * beefy RPC through lockless message passing - wip
      
      Not working because channel can't be simply opened and receiver passed
      to `rpc_extensions_builder` because `rpc_extensions_builder` has to be
      `Fn` and not `FnOnce`... and and Receiver side of mpsc can't be cloned
      
      yay!..
      
      * beefy RPC through lockless message passing
      
      * beefy: use specialized type definitions
      
      * bubble up service errors from BEEFY RPC
      
      * update lockfile for substrate
      
      Co-authored-by: parity-processbot <>
      5cc5b674
  20. Jan 05, 2022
  21. Dec 30, 2021
  22. Dec 28, 2021
  23. Dec 27, 2021
    • Sergey Pepyakin's avatar
      configuration: Unified consistency checks (#4581) · 4d768787
      Sergey Pepyakin authored
      This commit refactors the consistency checks. Instead of each individual
      setter performs its checks locally, we delegate those checks to the
      already existing function `check_consistency`. This removes duplication
      and simplifies the logic.
      
      A motivating example of this one is the next PR in the stack that will
      introduce a check for a field, which validity depends on the validity of
      other two fields. Without this refactoring we will have to place a check
      not only to the field in question, but also to the other two fields so
      that if they are changed they do not violate consistency criteria. It's
      easy to imagine how this can go unwieldy with the number of checks.
      
      This also adds a test that verifies that the default chain spec host
      configuration is consistent.
      4d768787
    • ordian's avatar
      session-info: add new fields + migration (#4545) · b342ae11
      ordian authored
      
      
      * session_info: v2 + migration
      
      * use primitives::v2
      
      * use polkadot_primitives::v2
      
      * impl primitives::v2
      
      * fix approval-voting tests
      
      * fix other tests
      
      * hook storage migration up
      
      * backwards compat (1)
      
      * backwards compat (2)
      
      * fmt
      
      * fix tests
      
      * FMT
      
      * do not reexport v1 in v2
      
      * fmt
      
      * set storage version to 1
      
      Co-authored-by: default avatarJavier Viola <[email protected]>
      b342ae11
  24. Dec 20, 2021
  25. Dec 18, 2021
  26. Dec 17, 2021
  27. Dec 16, 2021
  28. Dec 14, 2021
  29. Dec 11, 2021
  30. Dec 10, 2021
  31. Dec 09, 2021
  32. Dec 07, 2021
  33. 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