From e43761502fdc77840d1e6d28053167e436b70aab Mon Sep 17 00:00:00 2001 From: Filippo <110459737+filippoweb3@users.noreply.github.com> Date: Fri, 26 Jan 2024 14:37:20 +0100 Subject: [PATCH] Add Polimec HRMP info (#5503) * added info provided by Polimec * added useful links * Update docs/general/thousand-validators.md Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> * Update docs/learn/learn-guides-accounts-multisig.md Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> * Update docs/learn/learn-guides-accounts-multisig.md Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> * Add Joe's feedback * hrmp channel management * remove second person --------- Co-authored-by: Radha <86818441+DrW3RK@users.noreply.github.com> Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> Co-authored-by: joepetrowski --- docs/build/build-hrmp-channels.md | 22 ++++++++++++++++++++ docs/general/community.md | 1 - docs/general/thousand-validators.md | 8 ++++--- docs/learn/learn-guides-accounts-multisig.md | 18 +++++++++------- 4 files changed, 37 insertions(+), 12 deletions(-) diff --git a/docs/build/build-hrmp-channels.md b/docs/build/build-hrmp-channels.md index 132c41920da4..53617289e7e7 100644 --- a/docs/build/build-hrmp-channels.md +++ b/docs/build/build-hrmp-channels.md @@ -35,6 +35,28 @@ In order to dispatch a call from its sovereign origin, a parachain may use gover encoded call in a `Transact` instruction to the Relay Chain, but it may also execute this logic autonomously (e.g. on the notification that a channel was requested). +### Examples of HRMP Channel Management + +There are several ways to trigger a specific message from a parachain's origin. The naive way is to +write the program off-chain and submit it using the XCM pallet's `send` extrinsic. Sending arbitrary +programs is gated by a privileged origin, so who can initiate that depends on each chain's +configuration. The chain may need to go through governance to dispatch the extrinsic. + +Another option is to write the programs that a chain will send ahead of time and incorporate them +into the runtime. These programs could be behind extrinsics with their own privileged origins, or +even unprivileged origins. As the extrinsic can perform any checks prior to sending the message, the +runtime developer can program things like allowing any signed origin to dispatch a call accepting an +open HRMP channel request with another parachain. + +Note that this is actually how other extrinsics (e.g. to teleport assets) in the XCM pallet work; +they construct XCM programs locally from a user's inputs and, assuming all checks pass, send the +program to the destination. + +In addition, the logic could be autonomous and react to other instructions that the chain receives. +For example, see Polimec's +[implementation](https://github.com/Polimec/polimec-node/blob/da9d1ee0062ead7a62f815647813ada48e4c2250/pallets/xcm-executor/src/lib.rs#L890) +of the `XcmExecutor`, which handles notifications of channel requests and acceptance. + ## Opening HRMP Channels with System Parachains HRMP channel management involving system parachains takes place entirely on the Relay Chain. No diff --git a/docs/general/community.md b/docs/general/community.md index f9f77e616116..efa8327fb04f 100644 --- a/docs/general/community.md +++ b/docs/general/community.md @@ -137,4 +137,3 @@ you face any issues, join the rooms individually. application of blockchain technology, using Polkadot and Substrate as its foundations. - [Polkadot Communities and Campaigns by AirLyft One](https://airlyft.one/communities?ecosystem=POLKADOT) - Discover thriving communities and participate in engaging campaigns. - diff --git a/docs/general/thousand-validators.md b/docs/general/thousand-validators.md index 5124bf570ba4..5c0d1453ea17 100644 --- a/docs/general/thousand-validators.md +++ b/docs/general/thousand-validators.md @@ -9,9 +9,11 @@ slug: ../thousand-validators :::warning 1KV Program is on Hold. Please check this space again in Feb 2024. -Starting in February 2024, Web3 Foundation plans to share a new application form for the community validators that will include a KYC and KYB process. -Until then, all the applications submitted will be on hold. The 1KV program is undergoing a significant redesign, and the plan is -to make it more attractive to participate in, contributing to further decentralization of the Polkadot network (see [Nakamoto coefficients](https://nakaflow.io/)). +Starting in February 2024, Web3 Foundation plans to share a new application form for +validators that will include a KYC and KYB process. Until then, all applications submitted will +be on hold. The 1KV program is undergoing a significant redesign, and the plan is to make it more +attractive to participate in, contributing to further decentralization of the Polkadot network (see +[Nakamoto coefficients](https://nakaflow.io/)). If you have any questions, please contact `validators@web3.foundation` diff --git a/docs/learn/learn-guides-accounts-multisig.md b/docs/learn/learn-guides-accounts-multisig.md index 908603ebcc44..3a7f7736f6c6 100644 --- a/docs/learn/learn-guides-accounts-multisig.md +++ b/docs/learn/learn-guides-accounts-multisig.md @@ -57,14 +57,15 @@ Parity Technologies. There is a detailed that you can try out and change to see how it works. However, in anything but the simple one approval case, you will likely need more than one of the -signatories to approve the call before finally executing it. +signatories to approve the call before finally executing it. ### Multisig Call Deposit -When you create a new multi-sig call, you will need to place a {{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} -deposit. The deposit stays locked until the call is executed. This deposit is to establish an economic cost on the -storage space that the multisig call takes up on the chain state and discourage users from creating multisig -calls that never get executed. The deposit will be reserved in the call initiator's account. +When you create a new multi-sig call, you will need to place a +{{ polkadot: DOT :polkadot }}{{ kusama: KSM :kusama }} deposit. The deposit stays locked until the +call is executed. This deposit is to establish an economic cost on the storage space that the +multisig call takes up in the chain state and discourage users from creating multisig calls that +never get executed. The deposit will be reserved in the call initiator's account. The deposit is dependent on the `threshold` parameter and is calculated as follows: @@ -81,9 +82,10 @@ and the deposit factor equals {{ polkadot: . :polkadot }} {{ kusama: . :kusama }} -The other signatory accounts should have enough funds to pay for the transaction fees to sign and submit the multi-sig transaction. -No deposit is held from the signatory accounts. Once the multi-sig transaction is executed or rejected, the deposit is released on the -account that created the multi-sig transaction. +The other signatory accounts should have enough funds to pay for the transaction fees associated +with approving the multisig call. The deposit is for the call; that is, other signatories will not +need to place additional deposits. Once the multisig call is executed or rejected, the deposit is +released on the account that initiated the call. ### Example using Multisig Accounts