Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Polimec HRMP info #5503

Merged
merged 9 commits into from
Jan 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions docs/build/build-hrmp-channels.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion docs/general/community.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

DrW3RK marked this conversation as resolved.
Show resolved Hide resolved
8 changes: 5 additions & 3 deletions docs/general/thousand-validators.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 `[email protected]`

Expand Down
18 changes: 10 additions & 8 deletions docs/learn/learn-guides-accounts-multisig.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand All @@ -81,9 +82,10 @@ and the deposit factor equals
{{ polkadot: <RPC network="polkadot" path="consts.multisig.depositFactor" defaultValue={320000000} filter="humanReadable"/>. :polkadot }}
{{ kusama: <RPC network="kusama" path="consts.multisig.depositFactor" defaultValue={1066665600} filter="humanReadable"/>. :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

Expand Down
Loading