mirror of
https://github.com/pezkuwichain/pezkuwi-runtime-templates.git
synced 2026-06-14 23:31:02 +00:00
Update documentation and templates for Pezkuwi branding
This commit is contained in:
@@ -4,15 +4,15 @@
|
||||
|
||||
= pezpallet_assets
|
||||
|
||||
Branch/Release: `release-polkadot-v1.10.0`
|
||||
Branch/Release: `release-pezkuwi-v1.10.0`
|
||||
|
||||
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/pezframe/assets/src/lib.rs[{github-icon},role=heading-link]
|
||||
== Source Code link:https://github.com/pezkuwichain/pezkuwi-sdk/blob/release-pezkuwi-v1.10.0/bizinikiwi/pezframe/assets/src/lib.rs[{github-icon},role=heading-link]
|
||||
|
||||
== Purpose
|
||||
|
||||
The `pezpallet_assets` module is designed to manage and manipulate custom fungible asset types. It provides functionality for asset creation, management, and various operations, allowing for a flexible and scalable approach to asset handling.
|
||||
|
||||
== Pezpallet specific terms
|
||||
== Pezpezpallet specific terms
|
||||
|
||||
** `Asset ID` - A unique identifier for an asset type.
|
||||
** `Asset Owner` - The account that owns an asset.
|
||||
@@ -21,7 +21,7 @@ The `pezpallet_assets` module is designed to manage and manipulate custom fungib
|
||||
|
||||
== Config
|
||||
|
||||
* Pezpallet-specific configs
|
||||
* Pezpezpallet-specific configs
|
||||
** `Balance` -- The balance unit type.
|
||||
** `RemoveItemsLimit` -- The maximum number of items that can be removed in a single `destroy_accounts` and `destroy_approvals` call.
|
||||
** `AssetId` -- The unique asset identifiers.
|
||||
|
||||
@@ -2,30 +2,30 @@
|
||||
:highlightjs-languages: rust
|
||||
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
|
||||
|
||||
= cumulus_pezpallet_aura_ext
|
||||
= pezcumulus_pezpallet_aura_ext
|
||||
|
||||
Branch/Release: `release-polkadot-v1.10.0`
|
||||
Branch/Release: `release-pezkuwi-v1.10.0`
|
||||
|
||||
== Purpose
|
||||
|
||||
This pezpallet integrates parachain’s own block production mechanism (for example AuRa) into Cumulus parachain system. It allows:
|
||||
This pezpallet integrates teyrchain’s own block production mechanism (for example AuRa) into Pezpezcumulus teyrchain system. It allows:
|
||||
|
||||
- to manage the unincluded blocks from the current slot
|
||||
- to validate produced block against the relay chain
|
||||
|
||||
== Configuration and Integration link:https://github.com/paritytech/polkadot-sdk/tree/release-polkadot-v1.10.0/cumulus/pezpallets/aura-ext[{github-icon},role=heading-link]
|
||||
== Configuration and Integration link:https://github.com/pezkuwichain/pezkuwi-sdk/tree/release-pezkuwi-v1.10.0/pezcumulus/pezpallets/aura-ext[{github-icon},role=heading-link]
|
||||
|
||||
There is no special config for this integration and it has no dispatchables, but you need to integrate it with other `parachain-system` crate:
|
||||
There is no special config for this integration and it has no dispatchables, but you need to integrate it with other `teyrchain-system` crate:
|
||||
|
||||
=== Integrate `BlockExecutor`
|
||||
|
||||
When you invoke the `register_validate_block` macro, you should provide `cumulus_pezpallet_aura_ext::BlockExecutor` to it to allow `aura-ext` to validate the blocks produced by `aura`
|
||||
When you invoke the `register_validate_block` macro, you should provide `pezcumulus_pezpallet_aura_ext::BlockExecutor` to it to allow `aura-ext` to validate the blocks produced by `aura`
|
||||
|
||||
[source, rust]
|
||||
----
|
||||
cumulus_pezpallet_parachain_system::register_validate_block! {
|
||||
pezcumulus_pezpallet_teyrchain_system::register_validate_block! {
|
||||
Runtime = Runtime,
|
||||
BlockExecutor = cumulus_pezpallet_aura_ext::BlockExecutor::<Runtime, Executive>,
|
||||
BlockExecutor = pezcumulus_pezpallet_aura_ext::BlockExecutor::<Runtime, Executive>,
|
||||
}
|
||||
----
|
||||
|
||||
@@ -35,12 +35,12 @@ Also you might want to manage the consensus externally and control the segment t
|
||||
|
||||
[source, rust]
|
||||
----
|
||||
impl cumulus_pezpallet_parachain_system::Config for Runtime {
|
||||
impl pezcumulus_pezpallet_teyrchain_system::Config for Runtime {
|
||||
...
|
||||
type ConsensusHook = cumulus_pezpallet_aura_ext::FixedVelocityConsensusHook<
|
||||
type ConsensusHook = pezcumulus_pezpallet_aura_ext::FixedVelocityConsensusHook<
|
||||
Runtime,
|
||||
RELAY_CHAIN_SLOT_DURATION_MILLIS,
|
||||
BLOCK_PROCESSING_VELOCITY,
|
||||
BLOCK_PTYRESSING_VELOCITY,
|
||||
UNINCLUDED_SEGMENT_CAPACITY,
|
||||
>;
|
||||
}
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
= pezpallet_balances
|
||||
|
||||
Branch/Release: `release-polkadot-v1.10.0`
|
||||
Branch/Release: `release-pezkuwi-v1.10.0`
|
||||
|
||||
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/pezframe/balances/src/lib.rs[{github-icon},role=heading-link]
|
||||
== Source Code link:https://github.com/pezkuwichain/pezkuwi-sdk/blob/release-pezkuwi-v1.10.0/bizinikiwi/pezframe/balances/src/lib.rs[{github-icon},role=heading-link]
|
||||
|
||||
== Purpose
|
||||
|
||||
@@ -23,17 +23,17 @@ The Balances pezpallet provides functions for:
|
||||
|
||||
== Config
|
||||
|
||||
* Pezpallet-specific configs
|
||||
* Pezpezpallet-specific configs
|
||||
** `RuntimeHoldReason` -- The overarching xref:glossary.adoc#hold[hold] reason.
|
||||
** `RuntimeFreezeReason` -- The overarching xref:glossary.adoc#freeze[freeze] reason.
|
||||
** `Balance` -- The balance of an account
|
||||
** `DustRemoval` -- Handler for the unbalanced reduction when removing a dust account.
|
||||
** `ExistentialDeposit` -- The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!
|
||||
** `AccountStore` -- The means of storing the balances of an account.
|
||||
** `ReserveIdentifier` -- The ID type for xref:glossary.adoc#reserve[reserves]. The use of reserves is deprecated in favor of holds. See `https://github.com/paritytech/substrate/pull/12951/`
|
||||
** `ReserveIdentifier` -- The ID type for xref:glossary.adoc#reserve[reserves]. The use of reserves is deprecated in favor of holds. See `https://github.com/pezkuwichain/bizinikiwi/pull/12951/`
|
||||
** `FreezeIdentifier` -- The ID type for freezes.
|
||||
** `MaxLocks` -- The maximum number of locks that should exist on an account.
|
||||
** `MaxReserves` -- The maximum number of named reserves that can exist on an account. The use of reserves is deprecated in favor of holds. See `https://github.com/paritytech/substrate/pull/12951/`
|
||||
** `MaxReserves` -- The maximum number of named reserves that can exist on an account. The use of reserves is deprecated in favor of holds. See `https://github.com/pezkuwichain/bizinikiwi/pull/12951/`
|
||||
** `MaxFreezes` -- The maximum number of individual freeze locks that can exist on an account at any time.
|
||||
* Common configs
|
||||
** `RuntimeEvent` -- The overarching event type.
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
= collator_selection
|
||||
|
||||
Branch/Release: `release-polkadot-v1.10.0`
|
||||
Branch/Release: `release-pezkuwi-v1.10.0`
|
||||
|
||||
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/cumulus/pezpallets/collator-selection/src/lib.rs[{github-icon},role=heading-link]
|
||||
== Source Code link:https://github.com/pezkuwichain/pezkuwi-sdk/blob/release-pezkuwi-v1.10.0/pezcumulus/pezpallets/collator-selection/src/lib.rs[{github-icon},role=heading-link]
|
||||
|
||||
== Purpose
|
||||
|
||||
@@ -14,7 +14,7 @@ This pezpallet is needed to manage the set of xref:glossary.adoc#collator[collat
|
||||
|
||||
== Config
|
||||
|
||||
* Pezpallet-specific configs
|
||||
* Pezpezpallet-specific configs
|
||||
** `UpdateOrigin` — defines the list of origins that are able to modify the settings of collators (e.g. set and remove list of xref:glossary.adoc#invulnerable[invulnerables], desired xref:glossary.adoc#candidates[candidates], xref:glossary.adoc#candidacy_bond[candidacy bond]). This type should implement the trait `EnsureOrigin`.
|
||||
** `PotId` — id of account that will hold a xref:glossary.adoc#pot[Pot].
|
||||
** `MaxCandidates` — maximum number of candidates
|
||||
|
||||
@@ -4,16 +4,16 @@
|
||||
|
||||
= pezpallet_message_queue
|
||||
|
||||
Branch/Release: `release-polkadot-v1.10.0`
|
||||
Branch/Release: `release-pezkuwi-v1.10.0`
|
||||
|
||||
Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/pezframe/message-queue/src/lib.rs[{github-icon},role=heading-link]
|
||||
Source Code link:https://github.com/pezkuwichain/pezkuwi-sdk/blob/release-pezkuwi-v1.10.0/bizinikiwi/pezframe/message-queue/src/lib.rs[{github-icon},role=heading-link]
|
||||
|
||||
== Purpose
|
||||
|
||||
Flexible FRAME pezpallet for implementing message queues. This pezpallet can also initiate message processing using the `MessageProcessor` (see `Config`).
|
||||
Flexible PEZFRAME pezpallet for implementing message queues. This pezpallet can also initiate message processing using the `MessageProcessor` (see `Config`).
|
||||
|
||||
== Config
|
||||
* Pezpallet-specific configs:
|
||||
* Pezpezpallet-specific configs:
|
||||
** `MessageProcessor` -- Processor for messages
|
||||
** `Size` -- Page/heap size type.
|
||||
** `QueueChangeHandler` -- Code to be called when a message queue changes - either with items introduced or removed.
|
||||
@@ -21,7 +21,7 @@ Flexible FRAME pezpallet for implementing message queues. This pezpallet can als
|
||||
** `HeapSize` -- The size of the page; this also serves as the maximum message size which can be sent.
|
||||
** `MaxStale` -- The maximum number of stale pages (i.e. of overweight messages) allowed before culling can happen. Once there are more stale pages than this, then historical pages may be dropped, even if they contain unprocessed overweight messages.
|
||||
** `ServiceWeight` -- The amount of weight (if any) which should be provided to the message queue for servicing enqueued items `on_initialize`. This may be legitimately `None` in the case that you will call `ServiceQueues::service_queues` manually or set [`Self::IdleMaxServiceWeight`] to have it run in `on_idle`.
|
||||
** `IdleMaxServiceWeight` -- The maximum amount of weight (if any) to be used from remaining weight `on_idle` which should be provided to the message queue for servicing enqueued items `on_idle`. Useful for parachains to process messages at the same block they are received. If `None`, it will not call `ServiceQueues::service_queues` in `on_idle`.
|
||||
** `IdleMaxServiceWeight` -- The maximum amount of weight (if any) to be used from remaining weight `on_idle` which should be provided to the message queue for servicing enqueued items `on_idle`. Useful for teyrchains to process messages at the same block they are received. If `None`, it will not call `ServiceQueues::service_queues` in `on_idle`.
|
||||
* Common configs:
|
||||
** `RuntimeEvent` -- The overarching event type.
|
||||
** `WeightInfo` -- Weight information for extrinsics in this pezpallet.
|
||||
@@ -108,7 +108,7 @@ Remove a page which has no more messages remaining to be processed or is stale.
|
||||
|
||||
== Important Mentions and FAQ's
|
||||
|
||||
IMPORTANT: The pezpallet utilizes the [`sp_weights::WeightMeter`] to manually track its consumption to always stay within
|
||||
IMPORTANT: The pezpallet utilizes the [`pezsp_weights::WeightMeter`] to manually track its consumption to always stay within
|
||||
the required limit. This implies that the message processor hook can calculate the weight of a message without executing it.
|
||||
|
||||
==== How does this pezpallet work under the hood?
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
= pezpallet_multisig
|
||||
|
||||
Branch/Release: `release-polkadot-v1.10.0`
|
||||
Branch/Release: `release-pezkuwi-v1.10.0`
|
||||
|
||||
== Source Code: link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/pezframe/multisig/src/lib.rs[{github-icon},role=heading-link]
|
||||
== Source Code: link:https://github.com/pezkuwichain/pezkuwi-sdk/blob/release-pezkuwi-v1.10.0/bizinikiwi/pezframe/multisig/src/lib.rs[{github-icon},role=heading-link]
|
||||
|
||||
== Purpose
|
||||
|
||||
@@ -14,7 +14,7 @@ This module enables multi-signature operations in your runtime. It allows multip
|
||||
|
||||
== Config
|
||||
|
||||
* Pezpallet-specific configs
|
||||
* Pezpezpallet-specific configs
|
||||
** `DepositBase` -- The base amount of currency needed to xref:glossary.adoc#reserve[reserve] for creating a multisig execution or to store a dispatch call for later. Recall: The deposit to be made by the account that creates the multisig is: `threshold * DepositFactor + DepositBase`
|
||||
** `DepositFactor` -- The amount of currency needed per unit threshold when creating a multisig execution. Recall: The deposit to be made by the account that creates the multisig is: `threshold * DepositFactor + DepositBase`
|
||||
** `MaxSignatories` -- The maximum amount of signatories allowed in the multisig.
|
||||
@@ -218,7 +218,7 @@ A real use case scenario could be for example a business that has a bank account
|
||||
|
||||
* funding the multisig account (same for `1-out-of-n multisig accounts`, and `m-out-of-n multisig accounts`)
|
||||
** find the public key of the shared account
|
||||
*** use polkadot JS to create a multisig account
|
||||
*** use pezkuwi JS to create a multisig account
|
||||
*** or, use `multi_account_id` in the source code
|
||||
** fund the account by simply sending some money to the derived public key
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
= pezpallet_proxy
|
||||
|
||||
Branch/Release: `release-polkadot-v1.10.0`
|
||||
Branch/Release: `release-pezkuwi-v1.10.0`
|
||||
|
||||
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/pezframe/proxy/src/lib.rs[{github-icon},role=heading-link]
|
||||
== Source Code link:https://github.com/pezkuwichain/pezkuwi-sdk/blob/release-pezkuwi-v1.10.0/bizinikiwi/pezframe/proxy/src/lib.rs[{github-icon},role=heading-link]
|
||||
|
||||
== Purpose
|
||||
|
||||
@@ -14,7 +14,7 @@ This pezpallet enables delegation of rights to execute certain call types from o
|
||||
|
||||
== Config
|
||||
|
||||
* Pezpallet-specific configs:
|
||||
* Pezpezpallet-specific configs:
|
||||
** `ProxyType` -- a type that describes different variants of xref:glossary.adoc#proxy[proxy]. It must implement `Default` trait and `InstanceFilter<RuntimeCall>` trait.
|
||||
** `ProxyDepositBase` -- a base amount of currency that defines a deposit for proxy creation.
|
||||
** `ProxyDepositFactor` -- an amount of currency that will be frozen along with the `ProxyDepositBase` for each additional proxy.
|
||||
|
||||
@@ -2,34 +2,34 @@
|
||||
:highlightjs-languages: rust
|
||||
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
|
||||
|
||||
= parachain_system
|
||||
= teyrchain_system
|
||||
|
||||
Branch/Release: `release-polkadot-v1.10.0`
|
||||
Branch/Release: `release-pezkuwi-v1.10.0`
|
||||
|
||||
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/cumulus/pezpallets/parachain-system/src/lib.rs[{github-icon},role=heading-link]
|
||||
== Source Code link:https://github.com/pezkuwichain/pezkuwi-sdk/blob/release-pezkuwi-v1.10.0/pezcumulus/pezpallets/teyrchain-system/src/lib.rs[{github-icon},role=heading-link]
|
||||
|
||||
== Purpose
|
||||
|
||||
This pezpallet is a core element of each parachain. It will:
|
||||
This pezpallet is a core element of each teyrchain. It will:
|
||||
|
||||
- Aggregate information about built blocks
|
||||
- Process binary code upgrades
|
||||
- Process incoming messages from both relay chain and other parachains (if a channel is established between them)
|
||||
- Send outgoing messages to relay chain and other parachains
|
||||
- Process incoming messages from both relay chain and other teyrchains (if a channel is established between them)
|
||||
- Send outgoing messages to relay chain and other teyrchains
|
||||
- Build collation info when requested by xref:glossary.adoc#collator[collator]
|
||||
|
||||
== Config
|
||||
|
||||
* Pezpallet-specific configs:
|
||||
* Pezpezpallet-specific configs:
|
||||
** `OnSystemEvent` — a handler that will be called when new xref:glossary.adoc#validation_data[validation data] will be set (once each block). New validation data will also be passed to it. Look to `trait OnSystemEvent` for more details.
|
||||
** `SelfParaId` — getter for a parachain id of this chain
|
||||
** `SelfParaId` — getter for a teyrchain id of this chain
|
||||
** `OutboundXcmpMessageSource` — source of outgoing XCMP messages. It is queried in `finalize_block` and later included into collation information
|
||||
** `DmpQueue` — a handler for the incoming *downward* messages from relay chain
|
||||
** `ReservedDmpWeight` — xref:glossary.adoc#weight[weight] reserved for DMP message processing. This config seems to be is not used as the function that processes these messages (`enqueue_inbound_downward_messages`) returns used weight.
|
||||
** `XcmpMessageHandler` — a handler for the incoming _horizontal_ messages from other parachains
|
||||
** `XcmpMessageHandler` — a handler for the incoming _horizontal_ messages from other teyrchains
|
||||
** `ReservedXcmpWeight` — default weight limit for the for the XCMP message processing. May be overridden by storage `ReservedXcmpWeightOverride` . If incoming messages in block will exceed the weight limit, they won’t be processed.
|
||||
** `CheckAssociatedRelayNumber` — type that implements `trait CheckAssociatedRelayNumber` . Currently there are three implementations: no check (`AnyRelayNumber`), strict increase (`RelayNumberStrictlyIncreases`), monotonic increase (`RelayNumberMonotonicallyIncreases`). It is needed to maintain some order between blocks in relay chain and parachain.
|
||||
** `ConsensusHook` — this is a feature-enabled config ( for the management of the xref:glossary.adoc#unincluded_segment[unincluded segment]. Requires the implementation of `trait ConsensusHook`. There are several implementations of it, in `parachain-system` crate (`FixedCapacityUnincludedSegment`) and in `aura-ext` crate (`FixedVelocityConsensusHook`). It is needed to maintain the logic of segment length handling.
|
||||
** `CheckAssociatedRelayNumber` — type that implements `trait CheckAssociatedRelayNumber` . Currently there are three implementations: no check (`AnyRelayNumber`), strict increase (`RelayNumberStrictlyIncreases`), monotonic increase (`RelayNumberMonotonicallyIncreases`). It is needed to maintain some order between blocks in relay chain and teyrchain.
|
||||
** `ConsensusHook` — this is a feature-enabled config ( for the management of the xref:glossary.adoc#unincluded_segment[unincluded segment]. Requires the implementation of `trait ConsensusHook`. There are several implementations of it, in `teyrchain-system` crate (`FixedCapacityUnincludedSegment`) and in `aura-ext` crate (`FixedVelocityConsensusHook`). It is needed to maintain the logic of segment length handling.
|
||||
* Common parameters for all pezpallets:
|
||||
** `RuntimeEvent`
|
||||
** `WeightInfo`
|
||||
@@ -42,7 +42,7 @@ This pezpallet is a core element of each parachain. It will:
|
||||
[source,rust]
|
||||
----
|
||||
pub fn set_validation_data(
|
||||
data: ParachainInherentData,
|
||||
data: TeyrchainInherentData,
|
||||
)
|
||||
----
|
||||
This call is an inherent, you can’t call this from another dispatchable or from client side. This call sets up validation data for collation, processes code upgrades and updates unincluded segments.
|
||||
@@ -115,7 +115,7 @@ Validate and perform the authorized upgrade.
|
||||
|
||||
== Important Mentions and FAQ's
|
||||
|
||||
=== Pezpallet's workflow
|
||||
=== Pezpezpallet's workflow
|
||||
|
||||
* Block Initialization
|
||||
** Remove already processed xref:glossary.adoc#validation_code[validation code]
|
||||
@@ -127,5 +127,5 @@ Validate and perform the authorized upgrade.
|
||||
** Update `ValidationData`, `RelayStateProof` and other configs from relay.
|
||||
** Process the `ValidationCode` upgrade
|
||||
* Block Finalization
|
||||
** Enqueue all received messages from relay chain and other parachains
|
||||
** Enqueue all received messages from relay chain and other teyrchains
|
||||
** Update `UnincludedSegment` and `AggregatedUnincludedSegment` with the latest block data
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
|
||||
= pezpallet_transaction_payment
|
||||
|
||||
Branch/Release: `release-polkadot-v1.10.0`
|
||||
Branch/Release: `release-pezkuwi-v1.10.0`
|
||||
|
||||
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/pezframe/transaction-payment/src/lib.rs[{github-icon},role=heading-link]
|
||||
== Source Code link:https://github.com/pezkuwichain/pezkuwi-sdk/blob/release-pezkuwi-v1.10.0/bizinikiwi/pezframe/transaction-payment/src/lib.rs[{github-icon},role=heading-link]
|
||||
|
||||
== Purpose
|
||||
|
||||
`pezpallet-transaction-payment` implements transaction fee logic.
|
||||
|
||||
In substrate, every transaction has an associated `call`, and each `call` has its own xref:glossary.adoc#weight[weight] function. The weight function estimates the time it takes to execute the `call`.
|
||||
In bizinikiwi, every transaction has an associated `call`, and each `call` has its own xref:glossary.adoc#weight[weight] function. The weight function estimates the time it takes to execute the `call`.
|
||||
|
||||
`Config::WeightToFee` is a mapping between the smallest unit of compute (*Weight*) and smallest unit of fee.
|
||||
|
||||
@@ -29,13 +29,13 @@ The inputs are defined below in the glossary and config sections.
|
||||
|
||||
== Config
|
||||
|
||||
* Pezpallet-specific handlers:
|
||||
* Pezpezpallet-specific handlers:
|
||||
** `OnChargeTransaction` -- Handler for withdrawing, refunding and depositing the transaction fee. Type must implement the trait `OnChargeTransaction<Self>`.
|
||||
** `FeeMultiplierUpdate` -- Handler to define how base fees change over time (over blocks). Type must implement the trait `MultiplierUpdate`. Possible assignments include `ConstantFee`, `SlowAdjustingFee`, and `FastAdjustingFee`.
|
||||
* Pezpallet-specific converters:
|
||||
* Pezpezpallet-specific converters:
|
||||
** `WeightToFee` -- Mapping between the smallest unit of weight and smallest unit of fee. Type must implement the trait `WeightToFee<Balance = BalanceOf<Self>>`.
|
||||
** `LengthToFee` -- Convert a length value into a deductible fee based on the currency type. Type must implement the trait `WeightToFee<Balance = BalanceOf<Self>>`.
|
||||
* Pezpallet-specific constants:
|
||||
* Pezpezpallet-specific constants:
|
||||
** `OperationalFeeMultiplier` -- A fee multiplier for `Operational` extrinsics to compute "virtual tip" to boost their `priority`. Type must implement the trait `Get<u32>`.
|
||||
* Common configs:
|
||||
** `RuntimeEvent`
|
||||
@@ -50,7 +50,7 @@ There are no dispatchables (and no errors) in this pezpallet. This pezpallet is
|
||||
|
||||
== More Reading
|
||||
|
||||
** https://www.shawntabrizi.com/blog/substrate/substrate-weight-and-fees/[Substrate Weight & Fees] by Shawn Tabrizi
|
||||
* https://docs.substrate.io/build/tx-weights-fees/[Substrate Docs: Transaction Weight & Fees]
|
||||
** https://docs.substrate.io/reference/how-to-guides/weights/calculate-fees/#:~:text=Weight%20fee%20%2D%20A%20fee%20calculated,change%20as%20the%20chain%20progresses[Substrate Docs: How to Calculate Fees]
|
||||
** https://www.shawntabrizi.com/blog/bizinikiwi/bizinikiwi-weight-and-fees/[Bizinikiwi Weight & Fees] by Shawn Tabrizi
|
||||
* https://docs.bizinikiwi.io/build/tx-weights-fees/[Bizinikiwi Docs: Transaction Weight & Fees]
|
||||
** https://docs.bizinikiwi.io/reference/how-to-guides/weights/calculate-fees/#:~:text=Weight%20fee%20%2D%20A%20fee%20calculated,change%20as%20the%20chain%20progresses[Bizinikiwi Docs: How to Calculate Fees]
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
= pezpallet_treasury
|
||||
|
||||
Branch/Release: `release-polkadot-v1.10.0`
|
||||
Branch/Release: `release-pezkuwi-v1.10.0`
|
||||
|
||||
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/pezframe/treasury/src/lib.rs[{github-icon},role=heading-link]
|
||||
== Source Code link:https://github.com/pezkuwichain/pezkuwi-sdk/blob/release-pezkuwi-v1.10.0/bizinikiwi/pezframe/treasury/src/lib.rs[{github-icon},role=heading-link]
|
||||
|
||||
== Purpose
|
||||
|
||||
@@ -14,12 +14,12 @@ The Treasury pezpallet provides a “pot” of funds that can be managed by stak
|
||||
|
||||
== Config
|
||||
|
||||
* Pezpallet-specific configs
|
||||
* Pezpezpallet-specific configs
|
||||
** `SpendPeriod` -- Period between successive spends. "Spend" means, treasury spending money to a proposal. `SpendPeriod` determines how often the treasury pezpallet distributes the assets to the proposals.
|
||||
** `Burn` -- Percentage of spare funds (if any) that are burnt per spend period.
|
||||
** `BurnDestination` -- Handler for the unbalanced decrease when treasury funds are burned.
|
||||
** `SpendFunds` -- Runtime hooks to external pezpallet using treasury to compute spend funds.
|
||||
** `MaxApprovals` -- The maximum number of approvals that can wait in the spending queue. NOTE: This parameter is also used within the Bounties Pezpallet extension if enabled.
|
||||
** `MaxApprovals` -- The maximum number of approvals that can wait in the spending queue. NOTE: This parameter is also used within the Bounties Pezpezpallet extension if enabled.
|
||||
** `AssetKind` -- Type parameter representing the asset kinds to be spent from the treasury.
|
||||
** `Beneficiary` -- Type parameter used to identify the beneficiaries eligible to receive treasury spends.
|
||||
** `BeneficiaryLookup` -- Converting trait to take a source type and convert to [`Self::Beneficiary`].
|
||||
@@ -27,14 +27,14 @@ The Treasury pezpallet provides a “pot” of funds that can be managed by stak
|
||||
** `BalanceConverter` -- Type for converting the balance of an [Self::AssetKind] to the balance of the native asset, solely for the purpose of asserting the result against the maximum allowed spend amount of the [`Self::SpendOrigin`].
|
||||
** `PayoutPeriod` -- The period during which an approved treasury spend has to be claimed by the beneficiary of the proposal.
|
||||
|
||||
* Pezpallet-specific origins:
|
||||
* Pezpezpallet-specific origins:
|
||||
** `RejectOrigin` -- Origin from which rejections must come.
|
||||
** `SpendOrigin` -- The origin required for approving spends from the treasury outside of the proposal process. The `Success` value is the maximum amount in a native asset that this origin is allowed to spend at a time.
|
||||
|
||||
* Common configs
|
||||
** `Currency` -- The staking balance.
|
||||
** `RuntimeEvent` -- The overarching event type.
|
||||
** `PezpalletId` -- The treasury's pezpallet id, used for deriving its sovereign account ID.
|
||||
** `PezpezpalletId` -- The treasury's pezpallet id, used for deriving its sovereign account ID.
|
||||
** `WeightInfo` -- Weight information for extrinsics in this pezpallet.
|
||||
** `BenchmarkHelper` -- Helper type for benchmarks.
|
||||
|
||||
@@ -55,7 +55,7 @@ Propose and approve a spend of treasury funds, enables the creation of spends us
|
||||
|
||||
NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the beneficiary.
|
||||
|
||||
NOTE: The behavior and API of the old `spend` call capable of spending local DOT tokens remain unchanged, and is now under the name `spend_local`. The revised
|
||||
NOTE: The behavior and API of the old `spend` call capable of spending local HEZ tokens remain unchanged, and is now under the name `spend_local`. The revised
|
||||
new `spend` call is able to spend any asset kind managed by the treasury.
|
||||
|
||||
|
||||
@@ -241,5 +241,5 @@ The new `spend` dispatchable will not be able to solely `propose` or `approve` p
|
||||
|
||||
After the deprecation update, `treasury` pezpallet no longer tracks `unapproved` proposals, but only approved ones.
|
||||
|
||||
The idea is to use the `treausry` pezpallet combined with some other pezpallet which will provide the functionality of tracking unapproved proposals (reject, approve, propose). For Polkadot it's OpenGov (referenda and conviction voting pezpallets).
|
||||
The idea is to use the `treausry` pezpallet combined with some other pezpallet which will provide the functionality of tracking unapproved proposals (reject, approve, propose). For Pezkuwi it's OpenGov (referenda and conviction voting pezpallets).
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
= pezpallet_xcm
|
||||
|
||||
Branch/Release: `release-polkadot-v1.10.0`
|
||||
Branch/Release: `release-pezkuwi-v1.10.0`
|
||||
|
||||
Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/polkadot/xcm/pezpallet-xcm/src/lib.rs[{github-icon},role=heading-link]
|
||||
Source Code link:https://github.com/pezkuwichain/pezkuwi-sdk/blob/release-pezkuwi-v1.10.0/pezkuwi/xcm/pezpallet-xcm/src/lib.rs[{github-icon},role=heading-link]
|
||||
|
||||
== Purpose
|
||||
|
||||
@@ -14,31 +14,31 @@ Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkado
|
||||
|
||||
== Config
|
||||
|
||||
* Pezpallet-specific origins:
|
||||
* Pezpezpallet-specific origins:
|
||||
** `AdminOrigin` -- The origin that is allowed to call privileged operations on the XCM pezpallet. Type must implement trait `EnsureOrigin`.
|
||||
** `ExecuteXcmOrigin` -- Required origin for executing XCM messages, including the teleport functionality. If successful, it returns a `xref:glossary.adoc#multilocation[MultiLocation]` which exists as an interior location within this chain's XCM context. Type must implement trait `EnsureOrigin`.
|
||||
** `SendXcmOrigin` -- Required origin for sending XCM messages. If successful, it resolves to `MultiLocation`. Type must implement trait `EnsureOrigin`.
|
||||
|
||||
* Pezpallet-specific ID types:
|
||||
* Pezpezpallet-specific ID types:
|
||||
** `RemoteLockConsumerIdentifier` -- The ID type for local consumers of remote locks. The type must implement `Copy`.
|
||||
|
||||
* Pezpallet-specific handlers:
|
||||
* Pezpezpallet-specific handlers:
|
||||
** `Currency` -- Lockable currency used in the pezpallet. Type must implement the trait `LockableCurrency`.
|
||||
** `Weigher` -- Measures xref:glossary.adoc#weight[weight] consumed by XCM local execution. Type must implement the trait `WeightBounds`.
|
||||
** `XcmExecutor` -- Means of executing XCM. Type must implement the trait `ExecuteXcm`.
|
||||
** `XcmRouter` -- The type used to dispatch an XCM to its destination. Type must implement the trait `SendXcm`.
|
||||
|
||||
* Pezpallet-specific filters:
|
||||
* Pezpezpallet-specific filters:
|
||||
** `XcmExecuteFilter` -- XCM filter for which messages to be executed using `XcmExecutor` must pass. Type must implement trait `Contains<(MultiLocation, Xcm<<Self as Config>::RuntimeCall>)>`.
|
||||
** `XcmReserveTransferFilter` -- XCM filter for which messages to be reserve-transferred using the dedicated extrinsic must pass.Type must implement the trait `Contains<(MultiLocation, Vec<MultiAsset>)>`.
|
||||
** `XcmTeleportFilter` -- XCM filter for which messages to be teleported using the dedicated extrinsic must pass. Type must implement the trait `Contains<(MultiLocation, Vec<MultiAsset>)>`.
|
||||
** `TrustedLockers` -- Returns whether or not the origin can be trusted for a specific asset. Type must implement `ContainsPair` where each pair is an `asset` and an `origin` thereby entrusting `origin` for operations relating to `asset`.
|
||||
|
||||
* Pezpallet-specific converters:
|
||||
* Pezpezpallet-specific converters:
|
||||
** `CurrencyMatcher` -- The `xref:glossary.adoc#multiasset[MultiAsset]` matcher for `Currency`. Type must implement the trait `MatchesFungible`.
|
||||
** `SovereignAccountOf` -- How to get an `AccountId` value from a `MultiLocation`, useful for handling asset locks. Type must implement `ConvertLocation`.
|
||||
|
||||
* Pezpallet-specific constants:
|
||||
* Pezpezpallet-specific constants:
|
||||
** `VERSION_DISCOVERY_QUEUE_SIZE` -- `u32` measures the size of the version discovery queue. Typically set to `100`.
|
||||
** `AdvertisedXcmVersion` -- The latest supported XCM version that this chain accepts. Type must implement the trait `Get<XcmVersion>`. Commonly set to `pezpallet_xcm::CurrentXcmVersion`.
|
||||
** `MaxLockers` -- The maximum number of local XCM locks that a single account may have. Type must implement the trait `Get<u32>`.
|
||||
@@ -69,7 +69,7 @@ WARNING: DEPRECATED. `send` will be removed after June 2024. Use `send_blob` ins
|
||||
|
||||
* Deprecation explanation:
|
||||
** `pezpallet-xcm` has a new pair of extrinsics, `execute_blob` and `send_blob`. These are meant to be used instead of `execute` and `send`, which are now deprecated and will be removed eventually. These new extrinsics just require you to input the encoded XCM.
|
||||
** There's a new utility in PolkadotJS Apps for encoding XCMs you can use: https://polkadot.js.org/apps/#/utilities/xcm Just pass in the encoded XCM to the new extrinsics and you're done.
|
||||
** There's a new utility in PezkuwiJS Apps for encoding XCMs you can use: https://pezkuwi.js.org/apps/#/utilities/xcm Just pass in the encoded XCM to the new extrinsics and you're done.
|
||||
** The migration from the old extrinsic to the new is very simple. If you have your message `xcm: VersionedXcm<Call>`, then instead of passing in `Box::new(xcm)` to both `execute` and `send`, you would pass in `xcm.encode().try_into()` and handle the potential error of its encoded length being bigger than `MAX_XCM_ENCODED_SIZE`.
|
||||
** `pezpallet-contracts` takes the XCM encoded now as well. It follows the same API as `execute_blob` and `send_blob`.
|
||||
|
||||
@@ -108,7 +108,7 @@ WARNING: DEPRECATED. `execute` will be removed after June 2024. Use `execute_blo
|
||||
|
||||
* Deprecation explanation:
|
||||
** `pezpallet-xcm` has a new pair of extrinsics, `execute_blob` and `send_blob`. These are meant to be used instead of `execute` and `send`, which are now deprecated and will be removed eventually. These new extrinsics just require you to input the encoded XCM.
|
||||
** There's a new utility in PolkadotJS Apps for encoding XCMs you can use: https://polkadot.js.org/apps/#/utilities/xcm Just pass in the encoded XCM to the new extrinsics and you're done.
|
||||
** There's a new utility in PezkuwiJS Apps for encoding XCMs you can use: https://pezkuwi.js.org/apps/#/utilities/xcm Just pass in the encoded XCM to the new extrinsics and you're done.
|
||||
** The migration from the old extrinsic to the new is very simple. If you have your message `xcm: VersionedXcm<Call>`, then instead of passing in `Box::new(xcm)` to both `execute` and `send`, you would pass in `xcm.encode().try_into()` and handle the potential error of its encoded length being bigger than `MAX_XCM_ENCODED_SIZE`.
|
||||
** `pezpallet-contracts` takes the XCM encoded now as well. It follows the same API as `execute_blob` and `send_blob`.
|
||||
|
||||
@@ -260,7 +260,7 @@ The origin must be `ExecuteXcmOrigin` for this call.
|
||||
|
||||
**Params:**
|
||||
|
||||
- `dest: Box<VersionedMultiLocation>` -- Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.
|
||||
- `dest: Box<VersionedMultiLocation>` -- Destination context for the assets. Will typically be `X2(Parent, Teyrchain(..))` to send from teyrchain to teyrchain, or `X1(Teyrchain(..))` to send from relay to teyrchain.
|
||||
- `beneficiary: Box<VersionedMultiLocation>` -- A beneficiary location for the assets in the context of `dest`. Willgenerally be an `AccountId32` value.
|
||||
- `assets: Box<VersionedMultiAssets>` -- The assets to be withdrawn. This should include the assets used to pay the fee on the `dest` side.
|
||||
- `fee_asset_item: u32` -- The index into `assets` of the item which should be used to pay fees.
|
||||
@@ -298,7 +298,7 @@ The origin must be `ExecuteXcmOrigin` for this call.
|
||||
|
||||
**Params:**
|
||||
|
||||
- `dest: Box<VersionedMultiLocation>` -- Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to teleport from parachain to parachain, or `X1(Parachain(..))` to teleport from relay to parachain.
|
||||
- `dest: Box<VersionedMultiLocation>` -- Destination context for the assets. Will typically be `X2(Parent, Teyrchain(..))` to teleport from teyrchain to teyrchain, or `X1(Teyrchain(..))` to teleport from relay to teyrchain.
|
||||
- `beneficiary: Box<VersionedMultiLocation>` -- A beneficiary location for the assets in the context of `dest`. Will generally be an `AccountId32` value.
|
||||
- `assets: Box<VersionedMultiAssets>` -- The assets to be withdrawn. This should include the assets used to pay the fee on the `dest` side.
|
||||
- `fee_asset_item: u32` -- The index into `assets` of the item which should be used to pay fees.
|
||||
@@ -358,7 +358,7 @@ Transfer some assets from the local chain to the destination chain through their
|
||||
|
||||
**Params:**
|
||||
|
||||
- `dest: Box<VersionedLocation>` -- Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.
|
||||
- `dest: Box<VersionedLocation>` -- Destination context for the assets. Will typically be `X2(Parent, Teyrchain(..))` to send from teyrchain to teyrchain, or `X1(Teyrchain(..))` to send from relay to teyrchain.
|
||||
- `beneficiary: Box<VersionedLocation>` -- A beneficiary location for the assets in the context of `dest`. Will generally be an `AccountId32` value.
|
||||
- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the `dest` (and possibly reserve) chains.
|
||||
- `fee_asset_item: u32` -- The index into `assets` of the item which should be used to pay fees.
|
||||
@@ -490,4 +490,4 @@ Send an XCM from a local, signed, origin.
|
||||
|
||||
== More Reading
|
||||
|
||||
https://wiki.polkadot.network/docs/learn-xcm-usecases[Polkadot Wiki XCM Use Cases]
|
||||
https://wiki.pezkuwi.network/docs/learn-xcm-usecases[Pezkuwi Wiki XCM Use Cases]
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
:highlightjs-languages: rust
|
||||
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
|
||||
|
||||
= cumulus_pezpallet_xcmp_queue
|
||||
= pezcumulus_pezpallet_xcmp_queue
|
||||
|
||||
Branch/Release: `release-polkadot-v1.10.0`
|
||||
Branch/Release: `release-pezkuwi-v1.10.0`
|
||||
|
||||
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/cumulus/pezpallets/xcmp-queue/src/lib.rs[{github-icon},role=heading-link]
|
||||
== Source Code link:https://github.com/pezkuwichain/pezkuwi-sdk/blob/release-pezkuwi-v1.10.0/pezcumulus/pezpallets/xcmp-queue/src/lib.rs[{github-icon},role=heading-link]
|
||||
|
||||
== Purpose
|
||||
|
||||
@@ -14,14 +14,14 @@ Responsible for the Queues (both incoming and outgoing) for XCMP messages. This
|
||||
|
||||
== Config
|
||||
|
||||
* Pezpallet-specific configs
|
||||
* Pezpezpallet-specific configs
|
||||
** `ChannelInfo` -- Configures two functions `get_channel_status` and `get_channel_info` to provide information about channels (`ChannelStatus` and `ChannelInfo`).
|
||||
** `VersionWrapper` -- Means of converting an `Xcm` into a `VersionedXcm`. Xcm's should be versioned in order to pass the validation.
|
||||
** `XcmpQueue` -- Defines max length of an XCMP message, and how `enqueue_message` should behave.
|
||||
** `MaxInboundSuspended` -- The maximum number of inbound XCMP channels that can be suspended simultaneously. Any further channel suspensions will fail and messages may get dropped without further notice. Choosing a high value (1000) is okay.
|
||||
** `ControllerOrigin` -- The origin that is allowed to resume or suspend the XCMP queue.
|
||||
** `ControllerOriginConverter` -- The conversion function used to attempt to convert an XCM `xref:glossary.adoc#multilocation[MultiLocation]` origin to a superuser origin. This is used for allowing the superuser's queue to send messages even to paused queues.
|
||||
** `PriceForSiblingDelivery` -- The price for delivering an XCM to a sibling parachain destination.
|
||||
** `PriceForSiblingDelivery` -- The price for delivering an XCM to a sibling teyrchain destination.
|
||||
* Common configs
|
||||
** `RuntimeEvent` -- The overarching event type.
|
||||
** `WeightInfo` -- The xref:glossary.adoc#weight[weight] information of this pezpallet.
|
||||
@@ -122,11 +122,11 @@ IMPORTANT: messages are not ordered when they are received, but they are ordered
|
||||
|
||||
Messages and signals are stored in different queues. When the messages to be sent are taken with `take_outbound_messages`, they will be ordered:
|
||||
|
||||
* if there are signals present for outbound messages that targeting a parachain, we will only send signals, not messages
|
||||
* if there are signals present for outbound messages that targeting a teyrchain, we will only send signals, not messages
|
||||
* messages (that are not signals) won’t be ordered
|
||||
|
||||
NOTE: polkadot/xcm/src/v3 has `SendXcm` trait, which has 2 blank methods validate and deliver. For each router struct, one can implement `SendXcm` for it.
|
||||
NOTE: pezkuwi/xcm/src/v3 has `SendXcm` trait, which has 2 blank methods validate and deliver. For each router struct, one can implement `SendXcm` for it.
|
||||
|
||||
. `deliver` method take `destination` as a parameter, and calls `send_fragment` function with the target parachain id.
|
||||
. `send_fragment` puts the message to the queue of the given parachain id.
|
||||
. `deliver` method take `destination` as a parameter, and calls `send_fragment` function with the target teyrchain id.
|
||||
. `send_fragment` puts the message to the queue of the given teyrchain id.
|
||||
** unlike it's name, `deliver` method does not actually delivers the message. It is calling `send_fragment`, which places a message fragment on the outgoing XCMP queue for recipient. So, `deliver` is only putting the message to the respective outgoing xcmp queue
|
||||
|
||||
Reference in New Issue
Block a user