- Nov 14, 2024
-
-
georgepisaltu authored
Follow up to https://github.com/paritytech/polkadot-sdk/pull/3685 Partially fixes https://github.com/paritytech/polkadot-sdk/issues/6403 The main PR introduced bare support for the new extension version byte as well as extension weights and benchmarking. This PR: - Removes the redundant extension version byte from the signed v4 extrinsic, previously unused and defaulted to 0. - Adds the extension version byte to the inherited implication passed to `General` transactions. - Whitelists the `pallet_authorship::Author`, `frame_system::Digest` and `pallet_transaction_payment::NextFeeMultiplier` storage items as they are read multiple times by extensions for each transaction, but are hot in memory and currently overestimate the weight. - Whitelists the benchmark caller for `CheckEra` and `CheckGenesis` as the reads are performed for every transaction and overestimate the weight. - Updates the umbrella frame weight template to work with the system extension changes. - Plans on re-running the benchmarks at least for the `frame_system` extensions. --------- Signed-off-by:
georgepisaltu <george.pisaltu@parity.io> Co-authored-by: command-bot <> Co-authored-by:
gui <gui.thiolliere@gmail.com>
-
- Nov 13, 2024
-
-
Branislav Kontur authored
Closes: https://github.com/paritytech/polkadot-sdk/issues/6449
-
thiolliere authored
[Tx ext stage 2: 1/4] Add `TransactionSource` as argument in `TransactionExtension::validate` (#6323) ## Meta This PR is part of 4 PR: * https://github.com/paritytech/polkadot-sdk/pull/6323 * https://github.com/paritytech/polkadot-sdk/pull/6324 * https://github.com/paritytech/polkadot-sdk/pull/6325 * https://github.com/paritytech/polkadot-sdk/pull/6326 ## Description One goal of transaction extension is to get rid or unsigned transactions. But unsigned transaction validation has access to the `TransactionSource`. The source is used for unsigned transactions that the node trust and don't want to pay upfront. Instead of using transaction source we could do: the transaction is valid if it is signed by the block author, conceptually it should work, but it doesn't look so easy. This PR add `TransactionSource` to the validate function for transaction extensions
-
- Nov 06, 2024
-
-
Francisco Aguirre authored
# Context This PR aims to introduce XCMv5, for now it's in progress and will be updated over time. This branch will serve as a milestone branch for merging in all features we want to add to XCM, roughly outlined [here](https://github.com/polkadot-fellows/xcm-format/issues/60). More features could be added. ## TODO - [x] Migrate foreign assets from v3 to v4 - [x] Setup v5 skeleton - [x] Remove XCMv2 - [x] https://github.com/paritytech/polkadot-sdk/pull/5390 - [x] https://github.com/paritytech/polkadot-sdk/pull/5585 - [x] https://github.com/paritytech/polkadot-sdk/pull/5420 - [x] https://github.com/paritytech/polkadot-sdk/pull/5876 - [x] https://github.com/paritytech/polkadot-sdk/pull/5971 - [x] https://github.com/paritytech/polkadot-sdk/pull/6148 - [x] https://github.com/paritytech/polkadot-sdk/pull/6228 Fixes #3434 Fixes https://github.com/paritytech/polkadot-sdk/issues/4190 Fixes https://github.com/paritytech/polkadot-sdk/issues/5209 Fixes https://github.com/paritytech/polkadot-sdk/iss...
-
- Nov 05, 2024
-
-
Adrian Catangiu authored
Remove references of now defunct Wococo network. The XCM `NetworkId::Wococo` will also be removed with [XCMv5 PR](https://github.com/paritytech/polkadot-sdk/pull/4826)
-
Adrian Catangiu authored
Replace `GlobalConsensusEthereumConvertsFor` with `EthereumLocationsConverterFor` that allows `Location` to `AccountId` conversion for the Ethereum network root as before, but also for Ethereum contracts and accounts. The new converter only matches explicit `parents: 2` Ethereum locations, meaning it should be used only on/by parachains.
-
- Oct 24, 2024
-
-
Alistair Singh authored
# Description Snowbridge PNA has been audited. A number of issues where raised due to not understanding the fee model for Polkadot Native Assets(PNA) implementation. This PR addresses this by adding more comments and better naming of private functions. ## Integration None, documentation and private method name changes.
-
Serban Iorga authored
Closes https://github.com/paritytech/polkadot-sdk/issues/6161 Westend BridgeHub freezes for a while at block 3 and if we try to init the bridge and fund the accounts during that time, it fails. So we wait untill all the parachains produced at least 10 blocks, in order to make sure that they work reliably.
-
- Oct 18, 2024
-
-
georgepisaltu authored
Original PR https://github.com/paritytech/polkadot-sdk/pull/2280 reverted in https://github.com/paritytech/polkadot-sdk/pull/3665 This PR reintroduces the reverted functionality with additional changes, related effort [here](https://github.com/paritytech/polkadot-sdk/pull/3623). Description is copied over from the original PR First part of [Extrinsic Horizon](https://github.com/paritytech/polkadot-sdk/issues/2415) Introduces a new trait `TransactionExtension` to replace `SignedExtension`. Introduce the idea of transactions which obey the runtime's extensions and have according Extension data (né Extra data) yet do not have hard-coded signatures. Deprecate the terminology of "Unsigned" when used for transactions/extrinsics owing to there now being "proper" unsigned transactions which obey the extension framework and "old-style" unsigned which do not. Instead we have __*General*__ for the former and __*Bare*__ for ...
-
- Oct 17, 2024
-
-
drewstone authored
# Description I'm unable to build a bridge library due to the errors below, so I am adding the explicit import to `sp_std::vec`. ## Integration Projects using it can update their dependency. We are using the branch `stable2407` (mixed them up in my branch). ## Errors ``` error: cannot find macro `vec` in this scope --> /Users/drew/.cargo/git/checkouts/polkadot-sdk-cff69157b985ed76/88c32501/bridges/primitives/header-chain/src/justification/verification/mod.rs:99:19 | 99 | let mut route = vec![]; | ^^^ | help: consider importing one of these items | 23 + use scale_info::prelude::vec; | 23 + use sp_std::vec; | error: cannot find macro `vec` in this scope --> /Users/drew/.cargo/git/checkouts/polkadot-sdk-cff69157b985ed76/88c32501/bridges/primitives/header-chain/src/justification/verification/optimizer.rs:135:36 | 135 | duplicate_votes_ancestries_idxs: vec![], | ^^^ | help: consider importing one of these items | 19 + use scale_info::prelude::vec; | 19 + use sp_std::vec; | error: cannot find macro `vec` in this scope --> /Users/drew/.cargo/git/checkouts/polkadot-sdk-cff69157b985ed76/88c32501/bridges/primitives/header-chain/src/justification/verification/optimizer.rs:134:21 | 134 | extra_precommits: vec![], | ^^^ | help: consider importing one of these items | 19 + use scale_info::prelude::vec; | 19 + use sp_std::vec; | error: cannot find macro `vec` in this scope --> /Users/drew/.cargo/git/checkouts/polkadot-sdk-cff69157b985ed76/88c32501 /bridges/primitives/header-chain/src/justification/verification/equivocation.rs:89:27 | 89 | let mut equivocations = vec![]; | ^^^ | help: consider importing one of these items | 19 + use scale_info::prelude::vec; | 19 + use sp_std::vec; ``` --------- Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by:
Serban Iorga <serban@parity.io> Co-authored-by: command-bot <> Co-authored-by:
Adrian Catangiu <adrian@parity.io>
-
- Oct 10, 2024
-
-
Francisco Aguirre authored
# Description This PR addresses https://github.com/paritytech/polkadot-sdk/issues/5878. After dry running an xcm on asset hub, we had redundant xcms showing up in the `forwarded_xcms` field of the dry run effects returned. These were caused by two things: - The `UpwardMessageSender` router always added an element even if there were no messages. - The two routers on asset hub westend related to bridging (to rococo and sepolia) getting the message from their queues when their queues is actually the same xcmp queue that was already contemplated. In order to fix this, we check for no messages in UMP and clear the implementation of `InspectMessageQueues` for these bridging routers. Keep in mind that the bridged message is still sent, as normal via the xcmp-queue to Bridge Hub. To keep on dry-running the journey of the message, the next hop to dry-run is Bridge Hub. That'll be tackled in a different PR. Added a test in `bridge-hub-westend-integration-tests` and `bridge-hub-rococo-integration-tests` that show that dry-running a transfer across the bridge from asset hub results in one and only one message sent to bridge hub. ## TODO - [x] Functionality - [x] Test --------- Co-authored-by: command-bot <>
-
- Oct 09, 2024
-
-
Vincent Geddes authored
Here are MD docs for V2 @acatangiu @franciscoaguirre . Let me know what you think. --------- Co-authored-by:
Adrian Catangiu <adrian@parity.io> Co-authored-by:
Francisco Aguirre <franciscoaguirreperez@gmail.com> Co-authored-by:
Alistair Singh <alistair.singh7@gmail.com>
-
- Oct 08, 2024
-
-
Bastian Köcher authored
This bumps `ethbloom`, `ethereum-types`, `primitive-types` and `rlp` to their latest version. Fixes: https://github.com/paritytech/polkadot-sdk/issues/5870 --------- Co-authored-by: command-bot <> Co-authored-by:
ggwpez <ggwpez@users.noreply.github.com> Co-authored-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by:
Shawn Tabrizi <shawntabrizi@gmail.com> Co-authored-by:
Dónal Murray <donal.murray@parity.io>
-
- Oct 07, 2024
-
-
Branislav Kontur authored
This PR adds the ability to start version guarding when performing standalone relaying of messages and parachains. ## Follow-up - decouple and simplify `fn start_relay_guards`: https://github.com/paritytech/polkadot-sdk/issues/5923 --------- Co-authored-by: command-bot <>
-
- Oct 05, 2024
-
-
Branislav Kontur authored
For permissionless lanes, we add `lane_state` to the `InboundLaneData` and `OutboundLaneData` structs. However, for a period of time (until both BHK and BHP are upgraded to the same version), we need the relayer to function with runtimes where one has been migrated with `lane_state` and the other has not. This PR addresses the incompatibility by introducing wrapper structs for decoding without `lane_state`.
-
- Oct 04, 2024
-
-
Clara van Staden authored
# Description The EthereumBlobExporter consumes the `dest` parameter when the destination is not `Here`. Subsequent exporters will receive a `None` value for the destination instead of the original destination value, which is incorrect. Closes #5788 ## Integration Minor fix related to the exporter behaviour. ## Review Notes Verified that tests `exporter_validate_with_invalid_dest_does_not_alter_destination` and `exporter_validate_with_invalid_universal_source_does_not_alter_universal_source` fail without the fix in the exporter. --------- Co-authored-by:
Adrian Catangiu <adrian@parity.io>
-
Branislav Kontur authored
Relates to: https://github.com/paritytech/polkadot-sdk/pull/5916 Relates to: https://github.com/polkadot-js/api/pull/5976 --------- Co-authored-by:
Javier Viola <javier@parity.io>
-
- Oct 03, 2024
-
-
Branislav Kontur authored
This PR removes the requirement to set the `LaneId` in the relayer CLI configuration where it was not really necessary. --------- Co-authored-by: command-bot <>
-
- Sep 26, 2024
-
-
Alexander Samusev authored
cc https://github.com/paritytech/ci_cd/issues/1035 cc https://github.com/paritytech/ci_cd/issues/1023 --------- Signed-off-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by: command-bot <> Co-authored-by:
Maksym H <1177472+mordamax@users.noreply.github.com> Co-authored-by:
gui <gui.thiolliere@gmail.com> Co-authored-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by:
ggwpez <ggwpez@users.noreply.github.com>
-
- Sep 24, 2024
-
-
Branislav Kontur authored
This PR primarily fixes the issue with `zombienet-bridges-0001-asset-transfer-works` (see: https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/7404903). The PR looks large, but most of the changes involve splitting `LaneId` into `LegacyLaneId` and `HashedLaneId`. All pallets now use `LaneId` as a generic parameter. The actual bridging pallets are now backward compatible and work with actual **substrate-relay v1.6.10**, which does not even known anything about permissionless lanes or the new pallet changes. ## Important - [x] added migration for `pallet_bridge_relayers` and `RewardsAccountParams` change order of params, which generates different accounts ## Deployment follow ups - [ ] fix monitoring for `at_{}_relay_{}_reward_for_msgs_from_{}_on_lane_{}` - [ ] check sovereign reward accounts - because of changed `RewardsAccountParams` - [ ] deploy another messages instances for permissionless lanes - on BHs or AHs? - [ ] return bac...
-
Clara van Staden authored
# Description A fix for a border condition introduced with new feature https://github.com/paritytech/polkadot-sdk/pull/5201. A malicious relayer could spam the Ethereum client with sync committee updates that have already been imported for the period. This PR adds a storage item to track the last imported sync committee period, so that subsequent irrelevant updates are not free. Original PR: https://github.com/Snowfork/polkadot-sdk/pull/172 ## Integration Downstream projects are not affected. Relayers will not be able to spam the Ethereum client with irrelevant sync committee updates for free. ## Review Notes Adds a storage item to track the last free sync committee update period, so that duplicate imports are not free. --------- Co-authored-by:
Adrian Catangiu <adrian@parity.io>
-
Adrian Catangiu authored
On messages Ethereum -> Polkadot Asset Hub: whether they are a token transfer or a `Transact` for registering new token, make sure to handle unspent fees, rather than trapping them. This PR deposits them to Snowbridge's sovereign account on Asset Hub. --------- Co-authored-by: command-bot <>
-
- Sep 13, 2024
-
-
Ron authored
# Description Adding support for send polkadot native assets(PNA) to Ethereum network through snowbridge. Asset with location in view of AH Including: - Relay token `(1,Here)` - Native asset `(0,[PalletInstance(instance),GenereIndex(index)])` managed by Assets Pallet - Native asset of Parachain `(1,[Parachain(paraId)])` managed by Foreign Assets Pallet The original PR in https://github.com/Snowfork/polkadot-sdk/pull/128 which has been internally reviewed by Snowbridge team. # Notes - This feature depends on the companion solidity change in https://github.com/Snowfork/snowbridge/pull/1155. Currently register PNA is only allowed from [sudo](https://github.com/Snowfork/polkadot-sdk/blob/46cb3528 /bridges/snowbridge/pallets/system/src/lib.rs#L621), so it's actually not enabled. Will require another runtime upgrade to make the call permissionless together with upgrading the Gateway contract. - To make things easy multi-hop transfer(i.e. sending PNA from Ethereum through AH to Destination chain) is not support ed in this PR. For this case user can switch to 2-phases transfer instead. --------- Co-authored-by:
Clara van Staden <claravanstaden64@gmail.com> Co-authored-by:
Alistair Singh <alistair.singh7@gmail.com> Co-authored-by:
Vincent Geddes <117534+vgeddes@users.noreply.github.com> Co-authored-by:
Francisco Aguirre <franciscoaguirreperez@gmail.com> Co-authored-by:
Adrian Catangiu <adrian@parity.io>
-
- Sep 05, 2024
-
-
Francisco Aguirre authored
The dry-run shows in `forwarded_xcms` all the messages in the queues at the time of calling the API. Each time the API is called, the result could be different. You could get messages even if you dry-run something that doesn't send a message, like a `System::remark`. This PR fixes this by clearing the message queues before doing the dry-run, so the only messages left are the ones the users of the API actually care about. --------- Co-authored-by:
Adrian Catangiu <adrian@parity.io>
-
- Sep 02, 2024
-
-
Clara van Staden authored
Allow free Snowbridge consensus updates, if the header interval is larger than the configured value (set to 32, so once a epoch). This PR also moves the Rococo Snowbridge pallet config into its own module. Original PR: https://github.com/Snowfork/polkadot-sdk/pull/159 --------- Co-authored-by:
Francisco Aguirre <franciscoaguirreperez@gmail.com>
-
Branislav Kontur authored
Relates to: https://github.com/paritytech/parity-bridges-common/issues/2451 Closes: https://github.com/paritytech/parity-bridges-common/issues/2500 ## Summary Now, the bridging pallet supports only static lanes, which means lanes that are hard-coded in the runtime files. This PR fixes that and adds support for dynamic, also known as permissionless, lanes. This means that allowed origins (relay chain, sibling parachains) can open and close bridges (through BridgeHubs) with another bridged (substrate-like) consensus using just `xcm::Transact` and `OriginKind::Xcm`. _This PR is based on the migrated code from the Bridges V2 [branch](https://github.com/paritytech/polkadot-sdk/pull/4427) from the old `parity-bridges-common` [repo](https://github.com/paritytech/parity-bridges-common/tree/bridges-v2)._ ## Explanation Please read [bridges/modules/xcm-bridge-hub/src/lib.rs](https://github.com/paritytech/polkadot-sdk/blob/149b0ac2/bridg...
-
- Aug 28, 2024
-
-
Serban Iorga authored
Related to: https://github.com/paritytech/polkadot-sdk/issues/3176 This PR: - migrates test 0003 to the new bridges zombienet tests command **This test didn't work before and it still doesn't work. It was added at a time when we couldn't run it because we didn't have the scafolding. It needs to be fixed. For the moment we keep it in the repo as it is since the idea has value. But we don't run it in the CI. We can also decide to remove it in the future** - removes the old command for running bridge zombienet tests - updates the README
-
PG Herveou authored
Co-authored-by:
kianenigma <kian@parity.io> Co-authored-by:
Kian Paimani <5588131+kianenigma@users.noreply.github.com>
-
- Aug 23, 2024
-
-
Branislav Kontur authored
(Please, do not merge until SA, reverted and restored of https://github.com/paritytech/polkadot-sdk/pull/4944) Original PR with more context: https://github.com/paritytech/parity-bridges-common/pull/2211 Relates to: https://github.com/paritytech/parity-bridges-common/issues/2210 ## TODO - [x] fresh weighs for `pallet_bridge_messages` - [x] add `try_state` for `pallet_bridge_messages` which checks for unpruned messages - relates to the [comment](https://github.com/paritytech/parity-bridges-common/pull/2211#issuecomment-1643224831) - [x] ~prepare migration, that prunes leftovers, which would be pruned eventually from `on_idle` the [comment](https://github.com/paritytech/parity-bridges-common/pull/2211#issuecomment-1643224831)~ can be done also by `set_storage` / `kill_storage` or with `OnRuntimeUpgrade` implementatino when `do_try_state_for_outbound_lanes` detects problem. ## Open question - [ ] Do we really need `oldest_unpruned_nonce` afterwards? - after the runtime upgrade and when `do_try_state_for_outbound_lanes` pass, we won't need any migrations here - we won't even need `do_try_state_for_outbound_lanes` - please check comments bellow: https://github.com/paritytech/polkadot-sdk/pull/4944#discussion_r1666737961 --------- Signed-off-by:
Branislav Kontur <bkontur@gmail.com> Co-authored-by:
Serban Iorga <serban@parity.io> Co-authored-by:
Svyatoslav Nikolsky <svyatonik@gmail.com> Co-authored-by: command-bot <>
-
- Aug 16, 2024
-
-
Francisco Aguirre authored
After https://github.com/paritytech/polkadot-sdk/pull/4129, a zombienet bridge test was broken. This is because XCMv4 locations have an array in the `interior` field, which also has to appear in PJS. --------- Co-authored-by:
Serban Iorga <serban@parity.io>
-
- Aug 07, 2024
-
-
Oliver Tale-Yazdi authored
Uses custom metadata to exclude chain-specific crates. The only concern is that devs who want to use chain-specific crates, still need to select matching versions numbers. Could possibly be addresses with chain-specific umbrella crates, but currently it should be possible to use [psvm](https://github.com/paritytech/psvm). --------- Signed-off-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
-
- Aug 01, 2024
-
-
Khaled Fouad authored
This PR replaces env_logger with sp_tracing because of an issue with env_logger and gum #4660 --------- Co-authored-by:
Adrian Catangiu <adrian@parity.io> Co-authored-by:
Andrei Eres <eresav@me.com>
-
- Jul 25, 2024
-
-
Branislav Kontur authored
This PR adds `exporter_is_compatible_with_pallet_xcm_bridge_hub_router`, which ensures that our `pallet_xcm_bridge_hub` and `pallet_xcm_bridge_hub_router` are compatible when handling `ExportMessage`. Other changes are just small nits and cosmetics which makes others stuff easier. --------- Co-authored-by:
Svyatoslav Nikolsky <svyatonik@gmail.com>
-
- Jul 23, 2024
-
-
Jun Jiang authored
Now Polkadot-SDK is ansi_term free --------- Co-authored-by:
Bastian Köcher <git@kchr.de>
-
- Jul 12, 2024
-
-
Branislav Kontur authored
## Summary This PR contains migrated code from the Bridges V2 [branch](https://github.com/paritytech/polkadot-sdk/pull/4427) from the old `parity-bridges-common` [repo](https://github.com/paritytech/parity-bridges-common/tree/bridges-v2). Even though the PR looks large, it does not (or should not) contain any significant changes (also not relevant for audit). This PR is a requirement for permissionless lanes, as they were implemented on top of these changes. ## TODO - [x] generate fresh weights for BridgeHubs - [x] run `polkadot-fellows` bridges zombienet tests with actual runtime 1.2.5. or 1.2.6 to check compatibility -
working, checked with 1.2.8 fellows BridgeHubs - [x] run `polkadot-sdk` bridges zombienet tests - with old relayer in CI (1.6.5) - [x] run `polkadot-sdk` bridges zombienet tests (locally) - with the relayer based on this branch - https://github.com/paritytech/parity-bridges-common/pull/3022 - [x] check/fix relayer companion in bridges repo - https://github.com/paritytech/parity-bridges-common/pull/3022 - [x] extract pruning stuff to separate PR https://github.com/paritytech/polkadot-sdk/pull/4944 Relates to: https://github.com/paritytech/parity-bridges-common/issues/2976 Relates to: https://github.com/paritytech/parity-bridges-common/issues/2451 --------- Signed-off-by:Branislav Kontur <bkontur@gmail.com> Co-authored-by:
Serban Iorga <serban@parity.io> Co-authored-by:
Svyatoslav Nikolsky <svyatonik@gmail.com> Co-authored-by: command-bot <>
-
- Jun 27, 2024
-
-
Serban Iorga authored
Ensure that the key ownership proof doesn't contain duplicate or unneeded nodes. We already have these checks for the bridge messages proof. Just making them more generic and performing them also for the key ownership proof. --------- Co-authored-by:
Adrian Catangiu <adrian@parity.io>
-
- Jun 26, 2024
-
-
Niklas Adolfsson authored
This is PR updates jsonrpsee v0.23 which mainly changes: - Add `Extensions` which we now is using to get the connection id (used by the rpc spec v2 impl) - Update hyper to v1.0, http v1.0, soketto and related crates (hyper::service::make_service_fn is removed) - The subscription API for the client is modified to know why a subscription was closed. Full changelog here: https://github.com/paritytech/jsonrpsee/releases/tag/v0.23.0 --------- Co-authored-by:
Bastian Köcher <git@kchr.de>
-
- Jun 25, 2024
-
-
yjh authored
Some primitives have impl Hex related traits enabled by `rustc-hex` feature. People wanna use H256/H160 maybe need these trait impls --------- Co-authored-by: command-bot <> Co-authored-by:
Bastian Köcher <git@kchr.de>
-
- Jun 24, 2024
-
-
Oliver Tale-Yazdi authored
After preparing in https://github.com/paritytech/polkadot-sdk/pull/4633, we can lift also all internal dependencies up to the workspace. This does not actually change anything, but uses `workspace = true` for all dependencies. You can check it with: ```bash git checkout -q $(git merge-base oty-lift-all-deps origin/master) cargo tree -e features > master.out git checkout -q oty-lift-all-deps cargo tree -e features > new.out diff master.out new.out ``` It did not yet lift 100% of dependencies, some inside of `target.*` or some that had conflicting aliases introduced recently. But i will do these together in a follow-up with CI checks. Can be reproduced with [zepter](https://github.com/ggwpez/zepter/): `zepter transpose d lift-to-workspace "regex:.*" --version-resolver highest --skip-package "polkadot-sdk" --ignore-errors --fix`. --------- Signed-off-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
-
- Jun 21, 2024
-
-
dependabot[bot] authored
Bumps [ws](https://github.com/websockets/ws) from 8.16.0 to 8.17.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/websockets/ws/releases">ws's releases</a>.</em></p> <blockquote> <h2>8.17.1</h2> <h1>Bug fixes</h1> <ul> <li>Fixed a DoS vulnerability (<a href="https://redirect.github.com/websockets/ws/issues/2231">#2231</a>).</li> </ul> <p>A request with a number of headers exceeding the[<code>server.maxHeadersCount</code>][] threshold could be used to crash a ws server.</p> <pre lang="js"><code>const http = require('http'); const WebSocket = require('ws'); <p>const wss = new WebSocket.Server({ port: 0 }, function () { const chars = "!#$%&'*+-.0123456789abcdefghijklmnopqrstuvwxyz^_`|~".split(''); const headers = {}; let count = 0;</p> <p>for (let i = 0; i < chars.length; i++) { if (count === 2000) break;</p> <pre><code>for (let j = 0; j &lt; ch...
-