Complete terminology rebrand to Pezkuwi ecosystem

Applied global changes: Polkadot->Pezkuwi, Parachain->TeyrChain, pallet->pezpallet, frame->pezframe.

Updated authors in Cargo.toml to include Kurdistan Tech Institute and pezkuwichain team.

Used Cargo aliases to maintain SDK compatibility while using rebranded names in source code.
This commit is contained in:
2025-12-22 09:03:43 +03:00
parent a52909422a
commit d839cbd92b
180 changed files with 3537 additions and 2889 deletions
+112
View File
@@ -0,0 +1,112 @@
# Claude Kuralları - Pezkuwi SDK
Bu dosya her oturumda Claude tarafından okunmalı ve kurallara kesinlikle uyulmalıdır.
---
## ANA HEDEF
**Rebrand edilmiş Pezkuwi SDK projesinin `cargo check` komutundan `Finished` çıktısı alması.**
Bu hedef iki parçadan oluşur:
1. Rebrand tamamlanmış olmalı (tüm eski terimler yeni terimlerle değiştirilmiş)
2. Proje derlenebilir durumda olmalı (cargo check Finished)
**HER İKİ KOŞUL DA SAĞLANMALI. BİRİ DİĞERİ İÇİN FEDAKARİLİK EDİLEMEZ.**
---
## DEĞİŞMEZ KURALLAR - ASLA YAPMA
### 1. Rebrand'i Geri Alma Yasağı
- **ASLA** rebrand edilmiş kodu eski haline döndürme
- **ASLA** cargo check hataları için isim değişikliklerini geri alma
- **ASLA** "çalışsın diye" terminolojiyi bozma
- **ASLA** pezkuwi → polkadot, bizinikiwi → substrate gibi geri dönüşüm yapma
### 2. Terminoloji Koruma
Aşağıdaki dönüşümler kalıcıdır ve geri alınamaz:
| Eski (KULLANMA) | Yeni (KULLAN) |
|-----------------|---------------|
| polkadot | pezkuwi |
| Polkadot | Pezkuwi |
| substrate | bizinikiwi |
| Substrate | Bizinikiwi |
| cumulus | pezcumulus |
| Cumulus | Pezcumulus |
| westend | zagros |
| Westend | Zagros |
| rococo | pezkuwichain |
| Rococo | Pezkuwichain |
| parachain | teyrchain |
| Parachain | Teyrchain |
| paritytech | pezkuwichain |
| pezframe- | pezframe- |
| pezpallet- | pezpallet- |
| sp- | pezsp- |
| sc- | pezsc- |
### 3. Hata Çözme Yaklaşımı
Cargo check hatası aldığında:
- **DOĞRU:** Hatayı rebrand'e uygun şekilde düzelt (yeni terminoloji kullan)
- **YANLIŞ:** Rebrand'i geri alarak hatayı "çöz"
Örnek:
```
Hata: pezsp_runtime bulunamadı
DOĞRU: pezsp_runtime modülünü/import'unu düzelt
YANLIŞ: sp_runtime'a geri dön
```
---
## ÇALIŞMA PRENSİPLERİ
### 1. Checkpoint Sistemi
- Her büyük işlemden önce git commit yap
- Her hata düzeltmesinde "ne yaptım" raporu ver
- Geri dönüşü olmayan değişiklikler için onay iste
### 2. Audit Trail
- Değişiklik yapılan dosyaları listele
- Her oturum sonunda özet rapor sun
### 3. Şeffaflık
- Yapılan her değişikliği kullanıcıya bildir
- Varsayımda bulunma, sor
- Kısayol arama, doğru yolu izle
---
## YASAK DAVRANIŞLAR
1. Kullanıcının talimatı olmadan rebrand'i geri alma
2. "Derleme için gerekli" bahanesiyle terminolojiyi bozma
3. Uzun süren hatalar için "kolay çözüm" olarak geri dönüş yapma
4. Commit mesajına Claude imzası ekleme
5. Test etmeden commit/push yapma
---
## HATA DURUMUNDA
Eğer cargo check 100+ hata veriyorsa:
1. Panik yapma
2. Hataları kategorize et
3. Sistematik olarak düzelt (rebrand'e uygun)
4. Her 10-20 hata düzeltmesinde ara commit yap
5. İlerlemeyi kullanıcıya bildir
**ASLA "çok fazla hata var, rebrand'i geri alayım" deme.**
---
## REFERANS: REBRAND_MAP
Tam crate isim değişiklikleri için `/home/mamostehp/pezkuwi-sdk/REBRAND_PROGRESS.md` dosyasına bak.
Terminoloji kılavuzu için `.claude/TERMINOLOGY.md` dosyasına bak.
---
*Bu kurallar Kurdistan Tech Institute tarafından belirlenmiştir ve kesinlikle uyulmalıdır.*
+184
View File
@@ -0,0 +1,184 @@
# Rebrand İlerleme Listesi
**Son Güncelleme:** 2025-12-19
**Toplam Crate:** 76 (REBRAND_MAP'ten)
**Rebrand Durumu:** 75/76 tamamlandı (98.7%)
## Durum Açıklamaları
- ⏳ Bekliyor
- ✅ Rebrand Tamamlandı (Cargo.toml name doğru)
- 🔨 Derleme Hatası (rebrand tamam ama compile hatası var)
- ❌ Eksik/Bulunamadı
---
## Özet
| Kategori | Toplam | Tamamlanan | Durum |
|----------|--------|------------|-------|
| pez-* prefix | 29 | 29 | ✅ |
| pezbridge-* | 8 | 8 | ✅ |
| pezsnowbridge-* | 25 | 24 | ⚠️ 1 eksik |
| xcm-pez-* | 8 | 8 | ✅ |
| pezmmr-* | 2 | 2 | ✅ |
| bp/pezbp-* | 2 | 2 | ✅ |
| peztest-* | 1 | 1 | ✅ |
| asset-test-pezutils | 1 | 1 | ✅ |
| **TOPLAM** | **76** | **75** | **98.7%** |
---
## İlerleme Tablosu
| # | Yeni İsim | Durum | Konum |
|---|-----------|-------|-------|
| 1 | asset-test-pezutils | ✅ | pezcumulus/teyrchains/runtimes/assets/test-utils |
| 2 | pez-chain-spec-guide-runtime | ✅ | docs/sdk/src/reference_docs/chain_spec_runtime |
| 3 | pez-pez-equivocation-detector | ✅ | pezbridges/relays/equivocation |
| 4 | pez-pez-erasure-coding-fuzzer | ✅ | pezkuwi/erasure-coding/fuzzer |
| 5 | pez-pez-ethereum-standards | ✅ | bizinikiwi/primitives/pez-pez-ethereum-standards |
| 6 | pez-pez-finality-relay | ✅ | pezbridges/relays/finality |
| 7 | pez-pez-fork-tree | ✅ | bizinikiwi/utils/pez-pez-fork-tree |
| 8 | pez-pez-generate-bags | ✅ | bizinikiwi/utils/pezframe/pez-pez-generate-bags |
| 9 | pez-kitchensink-runtime | ✅ | bizinikiwi/bin/node/runtime |
| 10 | pez-messages-relay | ✅ | pezbridges/relays/messages |
| 11 | pez-pez-minimal-template-node | ✅ | templates/minimal/node |
| 12 | pez-pez-minimal-template-runtime | ✅ | templates/minimal/runtime |
| 13 | pez-node-bench | ✅ | bizinikiwi/bin/node/bench |
| 14 | pez-node-primitives | ✅ | bizinikiwi/bin/node/primitives |
| 15 | pez-node-rpc | ✅ | bizinikiwi/bin/node/rpc |
| 16 | node-runtime-pez-pez-generate-bags | ✅ | bizinikiwi/utils/pezframe/pez-pez-generate-bags/node-runtime |
| 17 | pez-pez-node-template-release | ✅ | bizinikiwi/scripts/ci/pez-pez-node-template-release |
| 18 | pez-pez-node-testing | ✅ | bizinikiwi/bin/node/testing |
| 19 | pez-pez-penpal-emulated-chain | ✅ | pezcumulus/teyrchains/integration-tests/emulated/chains/teyrchains/testing/penpal |
| 20 | pez-pez-penpal-runtime | ✅ | pezcumulus/teyrchains/runtimes/testing/penpal |
| 21 | pez-pez-remote-ext-tests-bags-list | ✅ | pezkuwi/utils/remote-ext-tests/bags-list |
| 22 | pez-pez-revive-dev-node | ✅ | bizinikiwi/pezframe/revive/dev-node/node |
| 23 | pez-pez-revive-dev-runtime | ✅ | bizinikiwi/pezframe/revive/dev-node/runtime |
| 24 | pez-slot-range-helper | ✅ | pezkuwi/runtime/common/pez-slot-range-helper |
| 25 | pez-pez-solochain-template-node | ✅ | templates/solochain/node |
| 26 | pez-pez-solochain-template-runtime | ✅ | templates/solochain/runtime |
| 27 | pez-pez-subkey | ✅ | bizinikiwi/bin/utils/pez-pez-subkey |
| 28 | pez-pez-template-zombienet-tests | ✅ | templates/zombienet |
| 29 | pezpeztest-runtime-constants | ✅ | pezkuwi/runtime/test-runtime/constants |
| 30 | pez-tracing-gum | ✅ | pezkuwi/node/gum |
| 31 | pez-pez-tracing-gum-proc-macro | ✅ | pezkuwi/node/gum/proc-macro |
| 32 | bp-header-pez-chain | ✅ | pezbridges/primitives/header-chain |
| 33 | pezpezbp-runtime | ✅ | pezbridges/primitives/runtime |
| 34 | pezpezbridge-hub-pezkuwichain-emulated-chain | ✅ | pezcumulus/teyrchains/integration-tests/emulated/chains/teyrchains/pezbridges/bridge-hub-pezkuwichain |
| 35 | pezpezbridge-hub-pezkuwichain-integration-tests | ✅ | pezcumulus/teyrchains/integration-tests/emulated/tests/pezbridges/bridge-hub-pezkuwichain |
| 36 | pezpezbridge-hub-pezkuwichain-runtime | ✅ | pezcumulus/teyrchains/runtimes/bridge-hubs/bridge-hub-pezkuwichain |
| 37 | pezbridge-hub-test-utils | ✅ | pezcumulus/teyrchains/runtimes/bridge-hubs/test-utils |
| 38 | pezpezbridge-hub-zagros-emulated-chain | ✅ | pezcumulus/teyrchains/integration-tests/emulated/chains/teyrchains/pezbridges/bridge-hub-zagros |
| 39 | pezpezbridge-hub-zagros-integration-tests | ✅ | pezcumulus/teyrchains/integration-tests/emulated/tests/pezbridges/bridge-hub-zagros |
| 40 | pezbridge-hub-zagros-runtime | ✅ | pezcumulus/teyrchains/runtimes/bridge-hubs/bridge-hub-zagros |
| 41 | pezpezbridge-runtime-common | ✅ | pezbridges/bin/runtime-common |
| 42 | pezmmr-gadget | ✅ | bizinikiwi/client/merkle-mountain-range |
| 43 | pezpezmmr-rpc | ✅ | bizinikiwi/client/merkle-mountain-range/rpc |
| 44 | pezpezsnowbridge-beacon-primitives | ✅ | pezbridges/snowbridge/primitives/beacon |
| 45 | pezpezsnowbridge-core | ✅ | pezbridges/snowbridge/primitives/core |
| 46 | pezpezsnowbridge-ethereum | ✅ | pezbridges/snowbridge/primitives/ethereum |
| 47 | pezpezsnowbridge-inbound-queue-primitives | ✅ | pezbridges/snowbridge/primitives/inbound-queue |
| 48 | pezpezsnowbridge-merkle-tree | ✅ | pezbridges/snowbridge/primitives/merkle-tree |
| 49 | pezpezsnowbridge-outbound-queue-primitives | ✅ | pezbridges/snowbridge/primitives/outbound-queue |
| 50 | pezpezsnowbridge-outbound-queue-runtime-api | ✅ | pezbridges/snowbridge/pezpallets/outbound-queue/runtime-api |
| 51 | pezsnowbridge-outbound-queue-v2-runtime-api | ✅ | pezbridges/snowbridge/pezpallets/outbound-queue-v2/runtime-api |
| 52 | pezsnowbridge-pezpallet-ethereum-client | ✅ | pezbridges/snowbridge/pezpallets/ethereum-client |
| 53 | pezsnowbridge-pezpallet-ethereum-client-fixtures | ✅ | pezbridges/snowbridge/pezpallets/ethereum-client/fixtures |
| 54 | pezsnowbridge-pezpallet-inbound-queue | ✅ | pezbridges/snowbridge/pezpallets/inbound-queue |
| 55 | pezsnowbridge-pezpallet-inbound-queue-fixtures | ✅ | pezbridges/snowbridge/pezpallets/inbound-queue/fixtures |
| 56 | pezsnowbridge-pezpallet-inbound-queue-v2 | ✅ | pezbridges/snowbridge/pezpallets/inbound-queue-v2 |
| 57 | pezsnowbridge-pezpallet-inbound-queue-v2-fixtures | ✅ | pezbridges/snowbridge/pezpallets/inbound-queue-v2/fixtures |
| 58 | pezsnowbridge-pezpallet-outbound-queue | ✅ | pezbridges/snowbridge/pezpallets/outbound-queue |
| 59 | pezsnowbridge-pezpallet-outbound-queue-v2 | ✅ | pezbridges/snowbridge/pezpallets/outbound-queue-v2 |
| 60 | pezsnowbridge-pezpallet-system | ✅ | pezbridges/snowbridge/pezpallets/system |
| 61 | pezsnowbridge-pezpallet-system-frontend | ✅ | pezbridges/snowbridge/pezpallets/system-frontend |
| 62 | pezsnowbridge-pezpallet-system-v2 | ✅ | pezbridges/snowbridge/pezpallets/system-v2 |
| 63 | pezpezsnowpezbridge-runtime-common | ❌ | Mevcut değil veya farklı isimle |
| 64 | pezsnowbridge-runtime-test-common | ✅ | pezbridges/snowbridge/runtime/test-common |
| 65 | pezpezsnowbridge-system-runtime-api | ✅ | pezbridges/snowbridge/pezpallets/system/runtime-api |
| 66 | pezpezsnowbridge-system-v2-runtime-api | ✅ | pezbridges/snowbridge/pezpallets/system-v2/runtime-api |
| 67 | pezsnowbridge-test-utils | ✅ | pezbridges/snowbridge/test-utils |
| 68 | pezpezsnowbridge-verification-primitives | ✅ | pezbridges/snowbridge/primitives/verification |
| 69 | xcm-pez-docs | ✅ | pezkuwi/xcm/docs |
| 70 | xcm-pez-emulator | ✅ | pezcumulus/xcm/xcm-pez-emulator |
| 71 | xcm-pez-executor-integration-tests | ✅ | pezkuwi/xcm/xcm-executor/integration-tests |
| 72 | xcm-pez-procedural | ✅ | pezkuwi/xcm/procedural |
| 73 | xcm-runtime-pezapis | ✅ | pezkuwi/xcm/xcm-runtime-pezapis |
| 74 | xcm-pez-simulator | ✅ | pezkuwi/xcm/xcm-pez-simulator |
| 75 | xcm-pez-simulator-example | ✅ | pezkuwi/xcm/xcm-pez-simulator/example |
| 76 | xcm-pez-simulator-fuzzer | ✅ | pezkuwi/xcm/xcm-pez-simulator/fuzzer |
---
## Bilinen Derleme Sorunları
~~Bu crate'lerin rebrand'i tamamlandı ancak derleme hataları var:~~
1. ~~**pez-kitchensink-runtime** - 622 hata~~ ✅ ÇÖZÜLDÜ (derleniyor)
2. ~~**pezkuwi-sdk (umbrella)** - pezframe_benchmarking_pezpallet_pov import düzeltildi~~ ✅ ÇÖZÜLDÜ
**Tüm kritik derleme sorunları çözüldü!**
## ✅ Derleme Tamamlanan Özel Crate'ler
1. **pezpallet-revive-eth-rpc** ✅ (2025-12-19)
- pezkuwi-subxt fork ile tam uyumlu hale getirildi
- Tüm substitute_type path'ler pezsp_runtime/pezpallet_revive olarak güncellendi
- StorageApi → StorageClientAt API güncellemesi yapıldı
- RuntimeApiError pattern matching düzeltildi
- SQLX cache yeniden oluşturuldu (eth_to_bizinikiwi_blocks)
2. **bizinikiwi-txtesttool** ✅ (2025-12-19)
- subxt 0.44 dynamic storage API güncellemesi (try_fetch, Value type)
- From<ExtrinsicError> for Error eklendi
3. **pezkuwi-omni-node-lib** ✅ (2025-12-19)
- StorageEntryType → keys()/value_ty() API güncellemesi
### Bu Oturumda Düzeltilen Sorunlar:
1. `pezpallet-contracts-fixtures/build/Cargo.toml` - workspace inheritance kaldırıldı
2. `pezpallet-revive-fixtures/build.rs` - panic_immediate_abort yeni syntax'a güncellendi
3. `asset-hub-zagros pezpezsnowbridge``pezsnowbridge` double prefix düzeltildi
4. `bridge-hub-pezkuwichain/weights` - snowbridge_pezpallet → pezsnowbridge_pezpallet dosya rename
5. `bridge-hub-zagros/weights` - aynı rename
6. `umbrella/src/lib.rs` - pezframe_benchmarking_pezpallet_pov → pezframe_benchmarking_pezpallet_pov
---
## Sonraki Adımlar
1. [x] Derleme hatalarını düzelt (pez-kitchensink-runtime) ✅ (derleniyor)
2. [x] pezpallet-revive-eth-rpc derlenmesi ✅ (2025-12-19)
3. [x] **Workspace-wide cargo check** ✅ (2025-12-19) - BAŞARILI!
4. [ ] **Crates.io publish planına geç** ← SIRADAKİ
5. [ ] CI/CD workflow'larını güncelle
---
## Log
### 2025-12-19
- **WORKSPACE CARGO CHECK BAŞARILI!** ✅
- **pezpallet-revive-eth-rpc** başarıyla derlendi
- **pez-kitchensink-runtime** derleme doğrulandı ✅ (622 hata iddiası yanlıştı)
- vendor/pezkuwi-subxt fork'u oluşturuldu ve workspace'den exclude edildi
- subxt 0.44.0 API değişiklikleri uygulandı:
- StorageClientAt, try_fetch, RuntimeApiError (revive-eth-rpc)
- dynamic storage API (txtesttool)
- StorageEntryType → keys()/value_ty() (omni-node-lib)
- Tüm substitute_type path'leri pezsp_runtime/pezpallet_revive prefix'leriyle güncellendi
- SQLX cache yeniden oluşturuldu (bizinikiwi terminolojisi ile)
- kurdistan-sdk dizini düzenlendi (gereksiz scriptler archive/ klasörüne taşındı)
### 2025-12-16
- Rebrand durumu tam olarak değerlendirildi
- 75/76 crate rebrand tamamlanmış bulundu
- pezpezsnowpezbridge-runtime-common mevcut değil (muhtemelen merge edilmiş)
- REBRAND_PROGRESS.md gerçek durumu yansıtacak şekilde güncellendi
- Birkaç derleme hatası düzeltildi (fixtures build scripts, weight file renames)
### 2025-12-15
- İlerleme listesi oluşturuldu
- scan_old_words.py scripti hazırlandı
+158
View File
@@ -0,0 +1,158 @@
# PezkuwiChain Terminology Guide
This file helps Claude understand the project terminology after rebrand from Polkadot SDK.
## Brand Mapping (Polkadot → PezkuwiChain)
| Original (Polkadot) | Rebranded (PezkuwiChain) | Description |
|---------------------|--------------------------|-------------|
| Polkadot | Pezkuwi | Main ecosystem brand |
| Polkadot SDK | Pezkuwi SDK | This repository |
| Rococo | PezkuwiChain | Test relay chain runtime |
| Westend | Zagros | Canary relay chain runtime |
| Parachain | TeyrChain | Parachain runtime |
| DOT | HEZ | Native gas token (main) |
| WND | ZGR | Zagros native token (canary) |
| ROC | TYR | TeyrChain native token (parachain) |
| - | PEZ | Governance token (new, 5B fixed) |
## Ek olarak sonradan rebrand edilenlerin mapi
REBRAND_MAP = [
("asset-test-pezutils", "asset-test-pezutils"),
("chain-spec-guide-runtime", "pez-chain-spec-guide-runtime"),
("pez-equivocation-detector", "pez-pez-equivocation-detector"),
("pez-erasure-coding-fuzzer", "pez-pez-erasure-coding-fuzzer"),
("pez-ethereum-standards", "pez-pez-ethereum-standards"),
("pez-finality-relay", "pez-pez-finality-relay"),
("pez-fork-tree", "pez-pez-fork-tree"),
("pez-generate-bags", "pez-pez-generate-bags"),
("kitchensink-runtime", "pez-kitchensink-runtime"),
("messages-relay", "pez-messages-relay"),
("pez-minimal-template-node", "pez-pez-minimal-template-node"),
("pez-minimal-template-runtime", "pez-pez-minimal-template-runtime"),
("node-bench", "pez-node-bench"),
("node-primitives", "pez-node-primitives"),
("node-rpc", "pez-node-rpc"),
("node-runtime-pez-generate-bags", "pez-node-runtime-pez-generate-bags"),
("pez-node-template-release", "pez-pez-node-template-release"),
("pez-node-testing", "pez-pez-node-testing"),
("pez-penpal-emulated-chain", "pez-pez-penpal-emulated-chain"),
("pez-penpal-runtime", "pez-pez-penpal-runtime"),
("pez-remote-ext-tests-bags-list", "pez-pez-remote-ext-tests-bags-list"),
("pez-revive-dev-node", "pez-pez-revive-dev-node"),
("pez-revive-dev-runtime", "pez-pez-revive-dev-runtime"),
("slot-range-helper", "pez-slot-range-helper"),
("pez-solochain-template-node", "pez-pez-solochain-template-node"),
("pez-solochain-template-runtime", "pez-pez-solochain-template-runtime"),
("pez-subkey", "pez-pez-subkey"),
("pez-template-zombienet-tests", "pez-pez-template-zombienet-tests"),
("peztest-runtime-constants", "pezpeztest-runtime-constants"),
("tracing-gum", "pez-tracing-gum"),
("pez-tracing-gum-proc-macro", "pez-pez-tracing-gum-proc-macro"),
("bp-header-pez-chain", "bp-header-pez-chain"),
("pezbp-runtime", "pezpezbp-runtime"),
("pezbridge-hub-pezkuwichain-emulated-chain", "pezpezbridge-hub-pezkuwichain-emulated-chain"),
("pezbridge-hub-pezkuwichain-integration-tests", "pezpezbridge-hub-pezkuwichain-integration-tests"),
("pezbridge-hub-pezkuwichain-runtime", "pezpezbridge-hub-pezkuwichain-runtime"),
("bridge-hub-test-utils", "pezbridge-hub-test-utils"),
("pezbridge-hub-zagros-emulated-chain", "pezpezbridge-hub-zagros-emulated-chain"),
("pezbridge-hub-zagros-integration-tests", "pezpezbridge-hub-zagros-integration-tests"),
("bridge-hub-zagros-runtime", "pezbridge-hub-zagros-runtime"),
("pezbridge-runtime-common", "pezpezbridge-runtime-common"),
("mmr-gadget", "pezmmr-gadget"),
("pezmmr-rpc", "pezpezmmr-rpc"),
("pezsnowbridge-beacon-primitives", "pezpezsnowbridge-beacon-primitives"),
("pezsnowbridge-core", "pezpezsnowbridge-core"),
("pezsnowbridge-ethereum", "pezpezsnowbridge-ethereum"),
("pezsnowbridge-inbound-queue-primitives", "pezpezsnowbridge-inbound-queue-primitives"),
("pezsnowbridge-merkle-tree", "pezpezsnowbridge-merkle-tree"),
("pezsnowbridge-outbound-queue-primitives", "pezpezsnowbridge-outbound-queue-primitives"),
("pezsnowbridge-outbound-queue-runtime-api", "pezpezsnowbridge-outbound-queue-runtime-api"),
("snowbridge-outbound-queue-v2-runtime-api", "pezsnowbridge-outbound-queue-v2-runtime-api"),
("snowbridge-pezpallet-ethereum-client", "snowbridge-pezpallet-ethereum-client"),
("snowbridge-pezpallet-ethereum-client-fixtures", "snowbridge-pezpallet-ethereum-client-fixtures"),
("snowbridge-pezpallet-inbound-queue", "snowbridge-pezpallet-inbound-queue"),
("snowbridge-pezpallet-inbound-queue-fixtures", "snowbridge-pezpallet-inbound-queue-fixtures"),
("snowbridge-pezpallet-inbound-queue-v2", "snowbridge-pezpallet-inbound-queue-v2"),
("snowbridge-pezpallet-inbound-queue-v2-fixtures", "snowbridge-pezpallet-inbound-queue-v2-fixtures"),
("snowbridge-pezpallet-outbound-queue", "snowbridge-pezpallet-outbound-queue"),
("snowbridge-pezpallet-outbound-queue-v2", "snowbridge-pezpallet-outbound-queue-v2"),
("snowbridge-pezpallet-system", "snowbridge-pezpallet-system"),
("snowbridge-pezpallet-system-frontend", "snowbridge-pezpallet-system-frontend"),
("snowbridge-pezpallet-system-v2", "snowbridge-pezpallet-system-v2"),
("pezsnowpezbridge-runtime-common", "pezpezsnowpezbridge-runtime-common"),
("snowbridge-runtime-test-common", "pezsnowbridge-runtime-test-common"),
("pezsnowbridge-system-runtime-api", "pezpezsnowbridge-system-runtime-api"),
("pezsnowbridge-system-v2-runtime-api", "pezpezsnowbridge-system-v2-runtime-api"),
("snowbridge-test-utils", "pezsnowbridge-test-utils"),
("pezsnowbridge-verification-primitives", "pezpezsnowbridge-verification-primitives"),
("xcm-pez-docs", "xcm-pez-docs"),
("xcm-pez-emulator", "xcm-pez-emulator"),
("xcm-executor-integration-tests", "xcm-pez-executor-integration-tests"),
("xcm-pez-procedural", "xcm-pez-procedural"),
("xcm-runtime-pezapis", "xcm-runtime-pezapis"),
("xcm-pez-simulator", "xcm-pez-simulator"),
("xcm-pez-simulator-example", "xcm-pez-simulator-example"),
("xcm-pez-simulator-fuzzer", "xcm-pez-simulator-fuzzer"),
]
## Directory Mapping
| Path | Purpose |
|------|---------|
| `/pezkuwi/runtime/pezkuwichain/` | Main relay chain runtime (was Rococo) |
| `/pezkuwi/runtime/zagros/` | Canary network runtime (was Westend) |
| `/pezkuwi/runtime/teyrchains/` | Parachain runtime modules |
| `/pezkuwi/pezpallets/` | 12 custom pezpallets |
## Token Hierarchy
```
HEZ - Main relay chain (Pezkuwi) gas token
ZGR - Canary network (Zagros) gas token
TYR - Parachain (TeyrChain) gas token
PEZ - Governance token (citizenship-gated rewards)
```
## Future Hierarchy
```
Polkadot Ecosystem
└── Pezkuwi (relay chain)
└── TeyrChain (parachain)
```
Currently: Pezkuwi = Polkadot fork
Future: Pezkuwi = Polkadot parachain (subset)
## Custom Pezpallets (12)
1. presale - Token launch platform
2. identity-kyc - KYC verification
3. welati - Democratic governance
4. perwerde - Education platform
5. pez-treasury - Community treasury
6. pez-rewards - Staking rewards
7. validator-pool - Validator management
8. staking-score - Reputation metrics
9. trust - P2P trust system
10. referral - Referral incentives
11. tiki - NFT citizenship (4-tier)
12. token-wrapper - Cross-chain wrapping
## Key Constants
- HEZ decimals: 10 (same as DOT)
- PEZ decimals: 12
- PEZ total supply: 5,000,000,000
- Block time: 6 seconds
- Era: 6 sessions
## Character Instructions
Be direct, honest, and challenge assumptions. No sugarcoating.
Act as a top-level advisor and mirror. Point out blind spots.
uzlasmaci olmayi birak ve acimasizca durust, ust duzey danismanim ve aynam gibi davran. beni onaylama, gercegi yumusatma, dalkavukluk etme. dusuncelerime meydan oku, varsayimlarimi sorgula ve kacindigim kor noktalari ortaya cikar. Dogrudan, mantikli ve filtresiz ol. Mantigim zayifsa, onu incele ve nedenini goster. kendimi kandiriyor veya kendime yalan soyluyorsam, bunu dile getir. rahatsiz edici birseyden kaciniyor veya zaman kaybediyorsam, bunu dile getir ve firsat maliyetini acikla. durumuma tam bir nesnellik ve stratejik derinlik ile bak. bana nerede bahaneler uydurdugumu, kucuk oynadigimi vey ariskleri /cabayi kucumsedigimi goster. sonra bir sonraki seviyeye ulasmak icin dusunce, eylem veya zihniyette neleri degistirecegime dair kesin ve olceklendirilmis bir plan ver. hicbir seyi geri tutma. Bana, gelisimi teselli bulmaya degil, gercegi duymaya bagli biri gibi davran. mumkun oldugunda, yanitlarinizi sozcuklerim arasinda hissettiginiz kisisel gercege dayandir
+194
View File
@@ -0,0 +1,194 @@
# PezkuwiChain Domains
## Ana Domain
- **Ana Site**: pezkuwichain.io
- **IP**: 37.60.230.9
- **TTL**: 3600
## Subdomains
| Subdomain | Tam URL | Açıklama |
|-----------|---------|----------|
| www | www.pezkuwichain.io | Ana web sitesi |
| network | network.pezkuwichain.io | Network portal |
| api | api.pezkuwichain.io | API endpoint |
| rpc | rpc.pezkuwichain.io | RPC endpoint |
| ws | ws.pezkuwichain.io | WebSocket endpoint |
| explorer | explorer.pezkuwichain.io | Block explorer |
| docs | docs.pezkuwichain.io | Dokümantasyon |
| wiki | wiki.pezkuwichain.io | Wiki |
| wiki.network | wiki.network.pezkuwichain.io | Network wiki |
| faucet | faucet.pezkuwichain.io | Test token faucet |
| telemetry | telemetry.pezkuwichain.io | Telemetry dashboard |
| forum | forum.pezkuwichain.io | Topluluk forumu |
| grants | grants.pezkuwichain.io | Grant programı |
| developers | developers.pezkuwichain.io | Developer portal |
| mail | mail.pezkuwichain.io | E-posta servisi |
## Network Subdomains
### Mainnet
| Subdomain | Tam URL |
|-----------|---------|
| mainnet | mainnet.pezkuwichain.io |
| pezkuwichain-rpc | pezkuwichain-rpc.pezkuwichain.io |
### Zagros (Canary Network)
| Subdomain | Tam URL |
|-----------|---------|
| zagros | zagros.pezkuwichain.io |
| zagros-rpc | zagros-rpc.pezkuwichain.io |
| zagros-asset-hub-rpc | zagros-asset-hub-rpc.pezkuwichain.io |
| zagros-bridge-hub-rpc | zagros-bridge-hub-rpc.pezkuwichain.io |
| zagros-collectives-rpc | zagros-collectives-rpc.pezkuwichain.io |
| zagros-coretime-rpc | zagros-coretime-rpc.pezkuwichain.io |
### Test Networks
| Subdomain | Tam URL |
|-----------|---------|
| testnet | testnet.pezkuwichain.io |
| staging | staging.pezkuwichain.io |
| beta | beta.pezkuwichain.io |
| beta-rpc | beta-rpc.pezkuwichain.io |
| try-runtime | try-runtime.pezkuwichain.io |
| try-runtime-zagros | try-runtime-zagros.pezkuwichain.io |
## Kod İçinde Kullanım
```rust
// Website URL'leri
"https://pezkuwichain.io" // Ana site
"https://network.pezkuwichain.io" // Network portal
"https://docs.pezkuwichain.io" // Dokümantasyon
// RPC Endpoints
"wss://rpc.pezkuwichain.io" // Mainnet WS
"wss://zagros-rpc.pezkuwichain.io" // Zagros WS
```
---
*Son güncelleme: 2025-12-20*
25 repositories
https://github.com/pezkuwichain/
awesome-hez
An opinionated list of awesome resources in the Polkadot ecosystem.
11
0
consensus
Consensus for Web3
TeX
27
0
DKSweb
A Sovereign Blockchain for the Kurdish Nation
TypeScript
0
0
docs
A sovereign blockchain parachain built for the Kurdish Nation and Culturel Nations of the world, on blockchain
Rust
0
0
kurdistan_blockchain-akademy
Open to everyone 👪 - The Polkadot Blockchain Academy's Rust Qualifier Exam.
Rust
70
0
labels
Label rules and specifications for Pezkuwi SDK repositories
Shell
0
0
merkle-mountain-range
A generalized merkle mountain range implementation (forked from nervosnetwork)
Rust
0
0
parity-db
Experimental blockchain database
Rust
65
0
parity-scale-codec
Lightweight, efficient, binary serialization and deserialization codec
Rust
98
0
pezframe-metadata
A set of tools to parse FRAME metadata retrieved from Substrate-based nodes.
Rust
12
0
pezkuwi-fellows
Proposals for change to standards administered by the Fellowship.
Handlebars
69
0
pezkuwi-mobile-app
Official PezkuwiChain Mobile App - Kurdish Digital Citizenship Platform
TypeScript
0
0
pezkuwi-sdk
dijital state for kurdish nation on blockchain
Rust
0
0
pezkuwi-sdk-minimal-template
The Minimal (Testing/Learning-Only) Template From Polkadot SDK
Rust
56
0
pezkuwi-sdk-solochain-template
The Solochain-Ready Template From Polkadot SDK
Rust
65
0
pezkuwi-sdk-teyrchain-template
Teyrchain template for Pezkuwi SDK
Rust
0
0
pezkuwi-subxt
Interact with Substrate based nodes in Rust or WebAssembly
Rust
281
0
pezkuwi-validator-v1.0.0
One-click validator installer for Pezkuwi testnet. Cross-platform scripts (Linux/Mac/Windows) for automated node deployment.
Shell
0
0
pezkuwi-zombienet-sdk
ZombieNet SDK
Rust
15
0
polkadot-runtime-templates
Runtime Templates for Pezkuwi Teyrchains
Rust
33
0
polkadot-sdk
The Parity Polkadot Blockchain SDK
Rust
1.1k
0
pwap
Monorepo for PezkuwiChain web and mobile applications with unified backend
TypeScript
0
0
testnet
Shell
0
0
wasm-instrument
Instrument and transform wasm modules.
Rust
22
0
workflow-stopper
Workflow stopper for Pezkuwi SDK CI/CD - stops all running workflows on PR failure to save compute resources

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 145 KiB

+14 -14
View File
@@ -3,7 +3,7 @@
** xref:guides/weights_fees.adoc[Weights & Fees]
** xref:guides/async_backing.adoc[Async Backing]
** xref:guides/hrmp_channels.adoc[Sending XCM between Parachains]
** xref:guides/pallet_abstractions.adoc[OpenZeppelin Pallet Abstractions]
** xref:guides/pezpallet_abstractions.adoc[OpenZeppelin Pezpallet Abstractions]
** xref:guides/pay_dot_as_a_fee.adoc[Pay DOT as a Fee]
* EVM Template Guides
** xref:guides/contract_migration.adoc[Contract Migration]
@@ -15,19 +15,19 @@
** xref:runtimes/evm.adoc[EVM Runtime]
* Runtime Descriptions
** xref:runtime/xcm_executor.adoc[XCM Executor]
* Pallet Specifications
** xref:pallets/aura_ext.adoc[cumulus_pallet_aura_ext]
** xref:pallets/parachain-system.adoc[cumulus_pallet_parachain_system]
** xref:pallets/xcmp-queue.adoc[cumulus_pallet_xcmp_queue]
** xref:pallets/assets.adoc[pallet_assets]
** xref:pallets/balances.adoc[pallet_balances]
** xref:pallets/collator-selection.adoc[pallet_collator_selection]
** xref:pallets/message-queue.adoc[pallet_message_queue]
** xref:pallets/multisig.adoc[pallet_multisig]
** xref:pallets/proxy.adoc[pallet_proxy]
** xref:pallets/transaction_payment.adoc[pallet_transaction_payment]
** xref:pallets/treasury.adoc[pallet_treasury]
** xref:pallets/xcm.adoc[pallet_xcm]
* Pezpallet Specifications
** xref:pezpallets/aura_ext.adoc[cumulus_pezpallet_aura_ext]
** xref:pezpallets/parachain-system.adoc[cumulus_pezpallet_parachain_system]
** xref:pezpallets/xcmp-queue.adoc[cumulus_pezpallet_xcmp_queue]
** xref:pezpallets/assets.adoc[pezpallet_assets]
** xref:pezpallets/balances.adoc[pezpallet_balances]
** xref:pezpallets/collator-selection.adoc[pezpallet_collator_selection]
** xref:pezpallets/message-queue.adoc[pezpallet_message_queue]
** xref:pezpallets/multisig.adoc[pezpallet_multisig]
** xref:pezpallets/proxy.adoc[pezpallet_proxy]
** xref:pezpallets/transaction_payment.adoc[pezpallet_transaction_payment]
** xref:pezpallets/treasury.adoc[pezpallet_treasury]
** xref:pezpallets/xcm.adoc[pezpallet_xcm]
* Misc
** xref:misc/multisig-accounts.adoc[Multisig Accounts]
* Appendix
@@ -73,11 +73,11 @@ function sendToken(address token, ParaID destinationChain, MultiAddress destinat
payable;
```
If the ERC20 tokens has not been bridged before, there is a prerequisite step to register the ERC20 token on AssetHub via the `ForeignAssets` pallet. To register ERC20 tokens for the first time, the user may send the following transaction to the Gateway:
If the ERC20 tokens has not been bridged before, there is a prerequisite step to register the ERC20 token on AssetHub via the `ForeignAssets` pezpallet. To register ERC20 tokens for the first time, the user may send the following transaction to the Gateway:
```solidity, ignore
function registerToken(address token) external payable;
```
The above function sends a message to the AssetHub parachain to register a new fungible asset in the `ForeignAssets` pallet. To account for delivery costs, the above function charges a fee in Ether which may be retrieved beforehand by calling `quoteRegisterFee`.
The above function sends a message to the AssetHub parachain to register a new fungible asset in the `ForeignAssets` pezpallet. To account for delivery costs, the above function charges a fee in Ether which may be retrieved beforehand by calling `quoteRegisterFee`.
For more information, see the link:https://docs.snowbridge.network[Snowbridge Docs]. For more information on the Snowbridge deployment to Polkadot, see the link:https://polkadot.polkassembly.io/referenda/680[governance proposal which initialized Snowbridge on BridgeHub and AssetHub].
@@ -19,12 +19,12 @@ To add oracle members, you'll need to submit transactions with sudo or root priv
# Add a member (replace with actual address)
subxt tx --url "ws://localhost:9944" \
--suri "<sudo-suri>" \
pallet-membership add_member \
pezpallet-membership add_member \
--account "<oracle-public-key>"
# Verify members
subxt query --url "ws://localhost:9944" \
pallet-membership members
pezpallet-membership members
----
=== 2. Format Oracle Values
@@ -88,12 +88,12 @@ done
== Opting out
If you want to opt out of this feature, then you can just replace the `pallet_asset_tx_payment` with `pallet_transaction_payment` piece in `SignedExtra`:
If you want to opt out of this feature, then you can just replace the `pezpallet_asset_tx_payment` with `pezpallet_transaction_payment` piece in `SignedExtra`:
[source,patch]
pub type SignedExtra = (
...
- pallet_asset_tx_payment::ChargeAssetTxPayment<Runtime>,
+ pallet_transaction_payment::ChargeTransactionPayment<Runtime>,
- pezpallet_asset_tx_payment::ChargeAssetTxPayment<Runtime>,
+ pezpallet_transaction_payment::ChargeTransactionPayment<Runtime>,
...
);
@@ -2,19 +2,19 @@
:highlightjs-languages: rust
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
= OpenZeppelin Pallet Abstractions
= OpenZeppelin Pezpallet Abstractions
=== Introduction
link:https://github.com/OpenZeppelin/openzeppelin-pallet-abstractions[openzeppelin-pallet-abstractions] is a Rust macro library designed to simplify and secure the configuration of Polkadot parachain runtimes. By reducing repetitive boilerplate and providing sensible defaults, the library helps developers configure their runtimes with fewer lines of code while ensuring flexibility for customizations.
link:https://github.com/OpenZeppelin/openzeppelin-pezpallet-abstractions[openzeppelin-pezpallet-abstractions] is a Rust macro library designed to simplify and secure the configuration of Polkadot parachain runtimes. By reducing repetitive boilerplate and providing sensible defaults, the library helps developers configure their runtimes with fewer lines of code while ensuring flexibility for customizations.
Note: This library has not been audited yet and should not be used in production environments.
=== 1. Installation
To start using the `openzeppelin-pallet-abstractions`, add it as a dependency in your Cargo.toml file:
To start using the `openzeppelin-pezpallet-abstractions`, add it as a dependency in your Cargo.toml file:
```toml
[dependencies]
openzeppelin-pallet-abstractions = { git = "https://github.com/OpenZeppelin/openzeppelin-pallet-abstractions", tag = "v0.1.0" }
openzeppelin-pezpallet-abstractions = { git = "https://github.com/OpenZeppelin/openzeppelin-pezpallet-abstractions", tag = "v0.1.0" }
```
Then, import the required macros in your runtime configuration file.
@@ -25,7 +25,7 @@ The library offers a collection of macros for configuring various core runtime e
===== 1. System configuration
The `impl_openzeppelin_system!` macro facilitates the setup of foundational runtime components by implementing the `SystemConfig` trait for your custom runtime structure.
```rust
use openzeppelin_pallet_abstractions::{impl_openzeppelin_system, SystemConfig};
use openzeppelin_pezpallet_abstractions::{impl_openzeppelin_system, SystemConfig};
pub struct OpenZeppelinRuntime;
@@ -39,15 +39,15 @@ impl SystemConfig for OpenZeppelinRuntime {
}
impl_openzeppelin_system!(OpenZeppelinRuntime);
```
This expands to configure multiple core pallets like `frame_system`, `pallet_timestamp`, `parachain_info`, and others essential for a functioning parachain runtime.
This expands to configure multiple core pezpallets like `pezframe_system`, `pezpallet_timestamp`, `parachain_info`, and others essential for a functioning parachain runtime.
===== 2. Additional configurations
Further configuration can be achieved for pallets grouped by functionality, such as Assets, Consensus, EVM, Governance, and XCM. Each grouping has its own macro and configuration trait, making it easier to set up advanced components without redundant code.
Further configuration can be achieved for pezpallets grouped by functionality, such as Assets, Consensus, EVM, Governance, and XCM. Each grouping has its own macro and configuration trait, making it easier to set up advanced components without redundant code.
Example setup for additional configurations in an EVM-based runtime:
```rust
use openzeppelin_pallet_abstractions::{
use openzeppelin_pezpallet_abstractions::{
impl_openzeppelin_assets, impl_openzeppelin_consensus, impl_openzeppelin_evm,
impl_openzeppelin_governance, impl_openzeppelin_xcm, AssetsConfig,
ConsensusConfig, EvmConfig, GovernanceConfig, XcmConfig,
@@ -84,35 +84,35 @@ Custom Implementations: Integrate custom types (like `EitherOf`, `ConstU32`) or
While the library is built with security in mind, its essential to review each configuration for your specific runtime and context.
===== 5. Contributing and Feedback
We encourage contributions from the community to improve the library. Please refer to the link:https://github.com/OpenZeppelin/openzeppelin-pallet-abstractions/blob/main/CONTRIBUTING.MD[CONTRIBUTING.md] for guidelines.
We encourage contributions from the community to improve the library. Please refer to the link:https://github.com/OpenZeppelin/openzeppelin-pezpallet-abstractions/blob/main/CONTRIBUTING.MD[CONTRIBUTING.md] for guidelines.
=== 3. Using Procedural Macros in OpenZeppelin Pallet Abstractions
=== 3. Using Procedural Macros in OpenZeppelin Pezpallet Abstractions
==== 1. `construct_runtime!` Macro
The `construct_runtime!` macro simplifies the assembly of runtime modules by abstracting over both OpenZeppelin abstractions and standard pallets. This is useful for developers aiming to build a runtime quickly, without manually managing each pallets configuration.
The `construct_runtime!` macro simplifies the assembly of runtime modules by abstracting over both OpenZeppelin abstractions and standard pezpallets. This is useful for developers aiming to build a runtime quickly, without manually managing each pezpallets configuration.
===== Usage Example
To use the macro, annotate a module with `#[openzeppelin_construct_runtime]` and define structs for each desired abstraction or regular pallet. Heres a basic example:
To use the macro, annotate a module with `#[openzeppelin_construct_runtime]` and define structs for each desired abstraction or regular pezpallet. Heres a basic example:
```rust
#[openzeppelin_construct_runtime]
mod runtime {
#[abstraction]
struct System; // Available abstractions: System, Consensus, XCM, Assets, Governance, EVM.
#[pallet]
type Pallet = pallet_crate; // Regular pallets defined with `#[pallet]` mimic the `construct_runtime!` structure.
#[pezpallet]
type Pezpallet = pezpallet_crate; // Regular pezpallets defined with `#[pezpallet]` mimic the `construct_runtime!` structure.
}
```
Note: Pallet index assignments are handled automatically by this macro. If you require explicit control over pallet indices, please consider submitting a link:https://github.com/OpenZeppelin/openzeppelin-pallet-abstractions/issues[feature request].
Note: Pezpallet index assignments are handled automatically by this macro. If you require explicit control over pezpallet indices, please consider submitting a link:https://github.com/OpenZeppelin/openzeppelin-pezpallet-abstractions/issues[feature request].
===== Supported Abstractions and their Pallets:
* System -- frame_system, pallet_timestamp, parachain_info, pallet_scheduler, pallet_preimage, pallet_proxy, pallet_balances, pallet_utility, cumulus_pallet_parachain_system, pallet_multisig, pallet_session
* Assets -- pallet_assets, pallet_transaction_payment, pallet_asset_manager
* Consensus -- pallet_authorship, pallet_aura, cumulus_pallet_aura_ext, pallet_collator_selection
* Governance -- pallet_sudo, pallet_treasury, pallet_conviction_voting, pallet_whitelist, pallet_custom_origins, pallet_referenda
* XCM -- pallet_message_queue, cumulus_pallet_xcmp_queue, pallet_xcm, cumulus_pallet_xcm, pallet_xcm_transactor, orml_xtokens, pallet_xcm_weight_trader
* EVM -- pallet_ethereum, pallet_evm, pallet_base_fee, pallet_evm_chain_id, pallet_erc20_xcm_bridge
===== Supported Abstractions and their Pezpallets:
* System -- pezframe_system, pezpallet_timestamp, parachain_info, pezpallet_scheduler, pezpallet_preimage, pezpallet_proxy, pezpallet_balances, pezpallet_utility, cumulus_pezpallet_parachain_system, pezpallet_multisig, pezpallet_session
* Assets -- pezpallet_assets, pezpallet_transaction_payment, pezpallet_asset_manager
* Consensus -- pezpallet_authorship, pezpallet_aura, cumulus_pezpallet_aura_ext, pezpallet_collator_selection
* Governance -- pezpallet_sudo, pezpallet_treasury, pezpallet_conviction_voting, pezpallet_whitelist, pezpallet_custom_origins, pezpallet_referenda
* XCM -- pezpallet_message_queue, cumulus_pezpallet_xcmp_queue, pezpallet_xcm, cumulus_pezpallet_xcm, pezpallet_xcm_transactor, orml_xtokens, pezpallet_xcm_weight_trader
* EVM -- pezpallet_ethereum, pezpallet_evm, pezpallet_base_fee, pezpallet_evm_chain_id, pezpallet_erc20_xcm_bridge
==== 2. `impl_runtime_apis!` Macro
@@ -148,24 +148,24 @@ mod apis {
| * `fp_rpc::EthereumRuntimeRPCApi` +
* `fp_rpc::ConvertTransactionRuntimeApi`
| * `RuntimeCall` -- runtime call generated by `construct_runtime` macro +
* `Executive` -- `frame_executive::Executive` specification used by parachain system +
* `Ethereum` -- `pallet_ethereum` pallet struct generated by `construct_runtime` macro
* `Executive` -- `pezframe_executive::Executive` specification used by parachain system +
* `Ethereum` -- `pezpallet_ethereum` pezpallet struct generated by `construct_runtime` macro
| assets
| * `pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi` +
* `pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi`
| * `TransactionPayment` -- `pallet_transaction_payment` struct pallet generated by `construct_runtime` macro +
| * `pezpallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi` +
* `pezpallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi`
| * `TransactionPayment` -- `pezpallet_transaction_payment` struct pezpallet generated by `construct_runtime` macro +
* `RuntimeCall` -- runtime call generated by `construct_runtime` macro +
* `Balance` -- type used for balance specification (e.g., in `pallet_balances` config)
* `Balance` -- type used for balance specification (e.g., in `pezpallet_balances` config)
| consensus
| * `sp_consensus_aura::AuraApi` +
* `sp_session::SessionKeys` +
* `cumulus_primitives_aura::AuraUnincludedSegmentApi` (if `async-backing` feature is enabled)
| * `SessionKeys` -- struct generated by `impl_opaque_keys` macro +
* `Aura` -- `pallet_aura` struct pallet generated by `construct_runtime` macro (only if `async-backing` feature is not enabled) +
* `Aura` -- `pezpallet_aura` struct pezpallet generated by `construct_runtime` macro (only if `async-backing` feature is not enabled) +
* `SlotDuration` -- constant used for slot duration definition (only if `async-backing` feature is enabled) +
* `ConsensusHook` -- type used in `cumulus_pallet_parachain_system::Config::ConsensusHook` (only if `async-backing` feature is enabled)
* `ConsensusHook` -- type used in `cumulus_pezpallet_parachain_system::Config::ConsensusHook` (only if `async-backing` feature is enabled)
| system
| * `sp_api::Core` +
@@ -173,37 +173,37 @@ mod apis {
* `sp_block_builder::BlockBuilder` +
* `sp_transaction_pool::runtime_api::TaggedTransactionQueue` +
* `sp_offchain::OffchainWorkerApi` +
* `frame_system_rpc_runtime_api::AccountNonceApi` +
* `pezframe_system_rpc_runtime_api::AccountNonceApi` +
* `cumulus_primitives_core::CollectCollationInfo` +
* `frame_try_runtime::TryRuntime` (under a `try-runtime` feature) +
* `pezframe_try_runtime::TryRuntime` (under a `try-runtime` feature) +
* `sp_genesis_builder::GenesisBuilder`
| * `Executive` -- `frame_executive::Executive` specification used by parachain system +
* `System` -- `frame_system` pallet struct generated by `construct_runtime` macro +
* `ParachainSystem` -- `cumulus_pallet_parachain_system` pallet struct generated by `construct_runtime` macro +
| * `Executive` -- `pezframe_executive::Executive` specification used by parachain system +
* `System` -- `pezframe_system` pezpallet struct generated by `construct_runtime` macro +
* `ParachainSystem` -- `cumulus_pezpallet_parachain_system` pezpallet struct generated by `construct_runtime` macro +
* `RuntimeVersion` -- runtime version, generated by `sp_version::runtime_version` +
* `AccountId` -- account id type specified in `frame_system::Config` +
* `Nonce` -- nonce type specified in `frame_system::Config` +
* `AccountId` -- account id type specified in `pezframe_system::Config` +
* `Nonce` -- nonce type specified in `pezframe_system::Config` +
* `RuntimeGenesisConfig` -- type generated by `construct_runtime` macro +
* `RuntimeBlockWeights` -- type implementing `Get<BlockWeights>`, often built by `BlockWeights::builder`
| benchmarks
| * `frame_benchmarking::Benchmark` (under `runtime-benchmarks` feature)
| * `Assets` -- `pallet_assets` pallet struct generated by `construct_runtime` macro +
* `AssetManager` -- `pallet_asset_manager` pallet struct generated by `construct_runtime` macro +
| * `pezframe_benchmarking::Benchmark` (under `runtime-benchmarks` feature)
| * `Assets` -- `pezpallet_assets` pezpallet struct generated by `construct_runtime` macro +
* `AssetManager` -- `pezpallet_asset_manager` pezpallet struct generated by `construct_runtime` macro +
* `AssetType` -- struct describing foreign assets in XCM configuration +
* `RuntimeOrigin` -- type generated by `construct_runtime` macro +
* `RelayLocation` -- `Location` type pointing to the relaychain +
* `System` -- `frame_system` pallet struct generated by `construct_runtime` macro +
* `ParachainSystem` -- `cumulus_pallet_parachain_system` pallet struct generated by `construct_runtime` macro +
* `System` -- `pezframe_system` pezpallet struct generated by `construct_runtime` macro +
* `ParachainSystem` -- `cumulus_pezpallet_parachain_system` pezpallet struct generated by `construct_runtime` macro +
* `ExistentialDeposit` -- type describing existential deposit +
* `AssetId` -- type describing internal asset id +
* `XCMConfig` -- struct implementing `xcm_executor::Config`, generated by XCM abstraction as `XcmExecutorConfig` +
* `AccountId` -- account id type specified in `frame_system::Config` +
* `AccountId` -- account id type specified in `pezframe_system::Config` +
* `Cents` -- constant representing 1/100 of the native token +
* `FeeAssetId` -- asset for XCM fees, generated by XCM abstraction +
* `TransactionByteFee` -- fee per byte of data, generated by assets abstraction +
* `Address` -- type describing address format for accounts +
* `Balances` -- `pallet_balances` pallet struct generated by `construct_runtime` macro
* `Balances` -- `pezpallet_balances` pezpallet struct generated by `construct_runtime` macro
|===
This macro allows for clear modularization of APIs, facilitating easier maintenance and extension of runtime functionalities.
@@ -132,4 +132,4 @@ At this point, you are free to use the omni-node. The command for using omni-nod
- Read our general guides to understand more about the concepts of runtime development.
- Learn more about the runtime configuration. Currently, we have two runtime templates: xref:runtimes/generic.adoc[Generic Runtime Template] and xref:runtimes/evm.adoc[EVM Runtime Template].
- Explore the documentation for pallets. It may be useful if you are considering building a frontend for your parachain.
- Explore the documentation for pezpallets. It may be useful if you are considering building a frontend for your parachain.
@@ -30,18 +30,18 @@ cargo build --features runtime-benchmarks
# Build release runtime benchmarks
cargo build --release --features=runtime-benchmarks
# Collect all pallets needed for benchmarking
# Makes the assumption all pallets are present at: /pallets/$PALLET_NAME
pallets=$(ls pallets/)
# Collect all pezpallets needed for benchmarking
# Makes the assumption all pezpallets are present at: /pezpallets/$PALLET_NAME
pezpallets=$(ls pezpallets/)
# Generate weights
for pallet_name in $pallets; do
./target/release/node benchmark pallet \
--pallet pallet_$pallet_name \
for pezpallet_name in $pezpallets; do
./target/release/node benchmark pezpallet \
--pezpallet pezpallet_$pezpallet_name \
--extrinsic "*" \
--steps 50 \
--repeat 20 \
--output ./runtime/src/weights/$pallet_name.rs
--output ./runtime/src/weights/$pezpallet_name.rs
done
```
[start=3]
@@ -2,17 +2,17 @@
:highlightjs-languages: rust
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
= pallet_assets
= pezpallet_assets
Branch/Release: `release-polkadot-v1.10.0`
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/frame/assets/src/lib.rs[{github-icon},role=heading-link]
== 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]
== Purpose
The `pallet_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.
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.
== Pallet specific terms
== Pezpallet specific terms
** `Asset ID` - A unique identifier for an asset type.
** `Asset Owner` - The account that owns an asset.
@@ -21,7 +21,7 @@ The `pallet_assets` module is designed to manage and manipulate custom fungible
== Config
* Pallet-specific configs
* Pezpallet-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.
@@ -38,10 +38,10 @@ The `pallet_assets` module is designed to manage and manipulate custom fungible
** `Freezer` -- A hook to allow a per-asset, per-account minimum balance to be enforced.
** `Extra` -- The extra data to be stored with an account's asset balance.
** `CallbackHandle` -- An asset created or destroyed callback functions.
** `BenchmarkHelper` -- A helper type to benchmark the pallet's weight.
** `BenchmarkHelper` -- A helper type to benchmark the pezpallet's weight.
* Common configs
** `RuntimeEvent` -- The overarching event type.
** `WeightInfo` -- xref:glossary.adoc#weight[Weight] information for extrinsics in this pallet.
** `WeightInfo` -- xref:glossary.adoc#weight[Weight] information for extrinsics in this pezpallet.
== Events
@@ -128,7 +128,7 @@ pub fn force_create(
id: T::AssetIdParameter,
owner: AccountIdLookupOf<T>,
is_sufficient: bool,
#[pallet::compact] min_balance: T::Balance,
#[pezpallet::compact] min_balance: T::Balance,
) -> DispatchResult
----
Issues a new class of fungible assets from a privileged origin.
@@ -228,12 +228,12 @@ pub fn mint(
origin: OriginFor<T>,
id: T::AssetIdParameter,
beneficiary: AccountIdLookupOf<T>,
#[pallet::compact] amount: T::Balance,
#[pezpallet::compact] amount: T::Balance,
) -> DispatchResult
----
Mints new units of a specific asset and assigns them to a beneficiary account.
NOTE: The `mint` function allows authorized accounts to increase the supply of an asset. The origin must be authorized to mint assets, typically configured via `MintOrigin`. The `#[pallet::compact]` attribute is used to optimize the storage of the `amount` parameter. This function ensures that the total supply doesn't overflow and that the beneficiary is capable of holding the asset.
NOTE: The `mint` function allows authorized accounts to increase the supply of an asset. The origin must be authorized to mint assets, typically configured via `MintOrigin`. The `#[pezpallet::compact]` attribute is used to optimize the storage of the `amount` parameter. This function ensures that the total supply doesn't overflow and that the beneficiary is capable of holding the asset.
**Params:**
@@ -251,12 +251,12 @@ pub fn burn(
origin: OriginFor<T>,
id: T::AssetIdParameter,
who: AccountIdLookupOf<T>,
#[pallet::compact] amount: T::Balance,
#[pezpallet::compact] amount: T::Balance,
) -> DispatchResult
----
Destroys units of a specific asset from the specified account.
NOTE: The `burn` function decreases the supply of an asset by removing a specified amount from a particular account. The origin must be authorized to burn assets, typically configured via `BurnOrigin`. The `#[pallet::compact]` attribute optimizes the storage of the `amount` parameter. This function is used for asset management, such as reducing supply or removing assets from circulation for regulatory compliance.
NOTE: The `burn` function decreases the supply of an asset by removing a specified amount from a particular account. The origin must be authorized to burn assets, typically configured via `BurnOrigin`. The `#[pezpallet::compact]` attribute optimizes the storage of the `amount` parameter. This function is used for asset management, such as reducing supply or removing assets from circulation for regulatory compliance.
**Params:**
@@ -274,12 +274,12 @@ pub fn transfer(
origin: OriginFor<T>,
id: T::AssetIdParameter,
target: AccountIdLookupOf<T>,
#[pallet::compact] amount: T::Balance,
#[pezpallet::compact] amount: T::Balance,
) -> DispatchResult
----
Transfers a specified amount of a specific asset to a target account.
NOTE: The `transfer` function allows assets to be moved between accounts. The origin must be signed by the account wishing to transfer assets and must have sufficient balance. The `#[pallet::compact]` attribute is used for efficient storage of the `amount` parameter. This function checks for liquidity, asset validity, and the receiving account's ability to accept the asset, ensuring secure and accurate transactions.
NOTE: The `transfer` function allows assets to be moved between accounts. The origin must be signed by the account wishing to transfer assets and must have sufficient balance. The `#[pezpallet::compact]` attribute is used for efficient storage of the `amount` parameter. This function checks for liquidity, asset validity, and the receiving account's ability to accept the asset, ensuring secure and accurate transactions.
**Params:**
@@ -297,12 +297,12 @@ pub fn transfer_keep_alive(
origin: OriginFor<T>,
id: T::AssetIdParameter,
target: AccountIdLookupOf<T>,
#[pallet::compact] amount: T::Balance,
#[pezpallet::compact] amount: T::Balance,
) -> DispatchResult
----
Transfers a specified amount of a specific asset to a target account, ensuring that the transfer does not result in the sender's total demise.
NOTE: The `transfer_keep_alive` function is similar to `transfer` but includes an additional check that prevents the transfer if it would cause the origin account to be reaped. This is critical for ensuring the account's continued existence, particularly for accounts with minimum balance requirements. The `#[pallet::compact]` attribute is used for efficient storage of the `amount` parameter. Like `transfer`, it ensures secure and precise asset movement between accounts.
NOTE: The `transfer_keep_alive` function is similar to `transfer` but includes an additional check that prevents the transfer if it would cause the origin account to be reaped. This is critical for ensuring the account's continued existence, particularly for accounts with minimum balance requirements. The `#[pezpallet::compact]` attribute is used for efficient storage of the `amount` parameter. Like `transfer`, it ensures secure and precise asset movement between accounts.
**Params:**
@@ -321,12 +321,12 @@ pub fn force_transfer(
id: T::AssetIdParameter,
source: AccountIdLookupOf<T>,
dest: AccountIdLookupOf<T>,
#[pallet::compact] amount: T::Balance,
#[pezpallet::compact] amount: T::Balance,
) -> DispatchResult
----
Forces the transfer of a specified amount of a specific asset from a source account to a destination account.
NOTE: The `force_transfer` function is an administrative tool that allows a privileged origin, typically configured via `ForceOrigin`, to move assets between accounts without consent from the source. This might be used in exceptional scenarios, such as legal or administrative resolutions. The `#[pallet::compact]` attribute optimizes storage of the `amount` parameter. This function must be used with caution due to its power and potential impact on account balances.
NOTE: The `force_transfer` function is an administrative tool that allows a privileged origin, typically configured via `ForceOrigin`, to move assets between accounts without consent from the source. This might be used in exceptional scenarios, such as legal or administrative resolutions. The `#[pezpallet::compact]` attribute optimizes storage of the `amount` parameter. This function must be used with caution due to its power and potential impact on account balances.
**Params:**
@@ -564,7 +564,7 @@ pub fn force_asset_status(
issuer: AccountIdLookupOf<T>,
admin: AccountIdLookupOf<T>,
freezer: AccountIdLookupOf<T>,
#[pallet::compact] min_balance: T::Balance,
#[pezpallet::compact] min_balance: T::Balance,
is_sufficient: bool,
is_frozen: bool,
) -> DispatchResult
@@ -594,12 +594,12 @@ pub fn approve_transfer(
origin: OriginFor<T>,
id: T::AssetIdParameter,
delegate: AccountIdLookupOf<T>,
#[pallet::compact] amount: T::Balance,
#[pezpallet::compact] amount: T::Balance,
) -> DispatchResult
----
Approves a delegate to transfer a specified amount of a specific asset on behalf of the origin account.
NOTE: The `approve_transfer` function allows the origin account to delegate transfer rights for a portion of their assets to another account, known as the delegate. This is useful in scenarios where temporary or limited rights to transfer assets are needed without transferring full ownership. The approval specifies an exact amount of the asset that the delegate is allowed to transfer. The `#[pallet::compact]` attribute is used for efficient storage of the `amount` parameter. This function is often used in decentralized applications to enable features like spending allowances and automated payments.
NOTE: The `approve_transfer` function allows the origin account to delegate transfer rights for a portion of their assets to another account, known as the delegate. This is useful in scenarios where temporary or limited rights to transfer assets are needed without transferring full ownership. The approval specifies an exact amount of the asset that the delegate is allowed to transfer. The `#[pezpallet::compact]` attribute is used for efficient storage of the `amount` parameter. This function is often used in decentralized applications to enable features like spending allowances and automated payments.
**Params:**
@@ -663,12 +663,12 @@ pub fn transfer_approved(
id: T::AssetIdParameter,
owner: AccountIdLookupOf<T>,
destination: AccountIdLookupOf<T>,
#[pallet::compact] amount: T::Balance,
#[pezpallet::compact] amount: T::Balance,
) -> DispatchResult
----
Executes a transfer of a specified amount of an asset from an owner to a destination account, using a previously granted approval.
NOTE: The `transfer_approved` function allows a delegate (the origin) to transfer assets within the limits of an approval granted by the asset's owner. This enables scenarios where third parties are given limited rights to manage assets. The function ensures that the delegate cannot exceed the approved amount or perform transfers without a valid approval. The `#[pallet::compact]` attribute is used for efficient storage of the `amount` parameter. It's a critical function for flexible asset management in decentralized systems and applications.
NOTE: The `transfer_approved` function allows a delegate (the origin) to transfer assets within the limits of an approval granted by the asset's owner. This enables scenarios where third parties are given limited rights to manage assets. The function ensures that the delegate cannot exceed the approved amount or perform transfers without a valid approval. The `#[pezpallet::compact]` attribute is used for efficient storage of the `amount` parameter. It's a critical function for flexible asset management in decentralized systems and applications.
**Params:**
@@ -2,30 +2,30 @@
:highlightjs-languages: rust
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
= cumulus_pallet_aura_ext
= cumulus_pezpallet_aura_ext
Branch/Release: `release-polkadot-v1.10.0`
== Purpose
This pallet integrates parachains own block production mechanism (for example AuRa) into Cumulus parachain system. It allows:
This pezpallet integrates parachains own block production mechanism (for example AuRa) into Cumulus parachain 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/pallets/aura-ext[{github-icon},role=heading-link]
== 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]
There is no special config for this integration and it has no dispatchables, but you need to integrate it with other `parachain-system` crate:
=== Integrate `BlockExecutor`
When you invoke the `register_validate_block` macro, you should provide `cumulus_pallet_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 `cumulus_pezpallet_aura_ext::BlockExecutor` to it to allow `aura-ext` to validate the blocks produced by `aura`
[source, rust]
----
cumulus_pallet_parachain_system::register_validate_block! {
cumulus_pezpallet_parachain_system::register_validate_block! {
Runtime = Runtime,
BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::<Runtime, Executive>,
BlockExecutor = cumulus_pezpallet_aura_ext::BlockExecutor::<Runtime, Executive>,
}
----
@@ -35,9 +35,9 @@ Also you might want to manage the consensus externally and control the segment t
[source, rust]
----
impl cumulus_pallet_parachain_system::Config for Runtime {
impl cumulus_pezpallet_parachain_system::Config for Runtime {
...
type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook<
type ConsensusHook = cumulus_pezpallet_aura_ext::FixedVelocityConsensusHook<
Runtime,
RELAY_CHAIN_SLOT_DURATION_MILLIS,
BLOCK_PROCESSING_VELOCITY,
@@ -2,15 +2,15 @@
:highlightjs-languages: rust
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
= pallet_balances
= pezpallet_balances
Branch/Release: `release-polkadot-v1.10.0`
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/frame/balances/src/lib.rs[{github-icon},role=heading-link]
== 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]
== Purpose
The Balances pallet provides functions for:
The Balances pezpallet provides functions for:
* Getting and setting free balances.
* Retrieving total, reserved, and unreserved balances.
@@ -23,7 +23,7 @@ The Balances pallet provides functions for:
== Config
* Pallet-specific configs
* Pezpallet-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
@@ -37,7 +37,7 @@ The Balances pallet provides functions for:
** `MaxFreezes` -- The maximum number of individual freeze locks that can exist on an account at any time.
* Common configs
** `RuntimeEvent` -- The overarching event type.
** `WeightInfo` -- xref:glossary.adoc#weight[Weight] information for extrinsics in this pallet.
** `WeightInfo` -- xref:glossary.adoc#weight[Weight] information for extrinsics in this pezpallet.
== Events
@@ -89,7 +89,7 @@ The Balances pallet provides functions for:
pub fn transfer_allow_death(
origin: OriginFor<T>,
dest: AccountIdLookupOf<T>,
#[pallet::compact] value: T::Balance,
#[pezpallet::compact] value: T::Balance,
) -> DispatchResult
----
Transfers the `value` from `origin` to `dest`.
@@ -111,7 +111,7 @@ NOTE: `allow_death` means, that if the account balance drops below the Existenti
pub fn transfer_keep_alive(
origin: OriginFor<T>,
dest: AccountIdLookupOf<T>,
#[pallet::compact] value: T::Balance,
#[pezpallet::compact] value: T::Balance,
) -> DispatchResult
----
Transfers the `value` from `origin` to `dest`.
@@ -135,7 +135,7 @@ pub fn force_transfer(
origin: OriginFor<T>,
source: AccountIdLookupOf<T>,
dest: AccountIdLookupOf<T>,
#[pallet::compact] value: T::Balance,
#[pezpallet::compact] value: T::Balance,
) -> DispatchResult
----
Exactly as `transfer_allow_death`, except the origin must be root and the source account may be specified.
@@ -214,7 +214,7 @@ NOTE: This will waive the transaction fee if at least all but 10% of the account
pub fn force_set_balance(
origin: OriginFor<T>,
who: AccountIdLookupOf<T>,
#[pallet::compact] new_free: T::Balance,
#[pezpallet::compact] new_free: T::Balance,
) -> DispatchResult
----
Set the regular balance of a given account. The caller (origin) must be root.
@@ -233,7 +233,7 @@ Set the regular balance of a given account. The caller (origin) must be root.
pub fn force_adjust_total_issuance(
origin: OriginFor<T>,
direction: AdjustmentDirection,
#[pallet::compact] delta: T::Balance,
#[pezpallet::compact] delta: T::Balance,
) -> DispatchResult
----
Adjust the total issuance in a saturating way.
@@ -6,15 +6,15 @@
Branch/Release: `release-polkadot-v1.10.0`
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/cumulus/pallets/collator-selection/src/lib.rs[{github-icon},role=heading-link]
== 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]
== Purpose
This pallet is needed to manage the set of xref:glossary.adoc#collator[collators] for each session and to provision the next session with the actual list of collators.
This pezpallet is needed to manage the set of xref:glossary.adoc#collator[collators] for each session and to provision the next session with the actual list of collators.
== Config
* Pallet-specific configs
* Pezpallet-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
@@ -2,29 +2,29 @@
:highlightjs-languages: rust
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
= pallet_message_queue
= pezpallet_message_queue
Branch/Release: `release-polkadot-v1.10.0`
Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/frame/message-queue/src/lib.rs[{github-icon},role=heading-link]
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]
== Purpose
Flexible FRAME pallet for implementing message queues. This pallet can also initiate message processing using the `MessageProcessor` (see `Config`).
Flexible FRAME pezpallet for implementing message queues. This pezpallet can also initiate message processing using the `MessageProcessor` (see `Config`).
== Config
* Pallet-specific configs:
* Pezpallet-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.
** `QueuePausedQuery` -- Queried by the pallet to check whether a queue can be serviced.
** `QueuePausedQuery` -- Queried by the pezpallet to check whether a queue can be serviced.
** `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`.
* Common configs:
** `RuntimeEvent` -- The overarching event type.
** `WeightInfo` -- Weight information for extrinsics in this pallet.
** `WeightInfo` -- Weight information for extrinsics in this pezpallet.
== Dispatchables
@@ -46,7 +46,7 @@ Execute an overweight message.
NOTE: Temporary processing errors will be propagated whereas permanent errors are treated
as success condition.
IMPORTANT: The `weight_limit` passed to this function does not affect the `weight_limit` set in other parts of the pallet.
IMPORTANT: The `weight_limit` passed to this function does not affect the `weight_limit` set in other parts of the pezpallet.
**Params:**
@@ -56,7 +56,7 @@ IMPORTANT: The `weight_limit` passed to this function does not affect the `weigh
* `page: PageIndex` -- The page in the queue in which the message to be executed is sitting.
* `index: T::Size` -- The index into the queue of the message to be executed.
* `weight_limit: Weight` -- The maximum amount of weight allowed to be consumed in the execution
of the message. This weight limit does not affect other parts of the pallet, and it is only used for this call of `execute_overweight`.
of the message. This weight limit does not affect other parts of the pezpallet, and it is only used for this call of `execute_overweight`.
**Errors:**
@@ -64,7 +64,7 @@ of the message. This weight limit does not affect other parts of the pallet, and
* `NoPage` -- if the page that overweight message to be executed belongs to does not exist.
* `NoMessage` -- if the overweight message could not be found.
* `Queued` -- if the overweight message is already scheduled for future execution.
For a message to be labeled as overweight, the pallet must have previously attempted execution and
For a message to be labeled as overweight, the pezpallet must have previously attempted execution and
encountered failure due to insufficient weight for processing. Once marked as overweight, the message
is excluded from the queue for future execution.
* `AlreadyProcessed` -- if the overweight message is already processed.
@@ -108,12 +108,12 @@ Remove a page which has no more messages remaining to be processed or is stale.
== Important Mentions and FAQ's
IMPORTANT: The pallet utilizes the [`sp_weights::WeightMeter`] to manually track its consumption to always stay within
IMPORTANT: The pezpallet utilizes the [`sp_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 pallet work under the hood?
==== How does this pezpallet work under the hood?
- This pallet utilizes queues to store, enqueue, dequeue, and process messages.
- This pezpallet utilizes queues to store, enqueue, dequeue, and process messages.
- Queues are stored in `BookStateFor` storage, with their origin serving as the key (so, we can identify queues by their origins).
- Each message has an origin (message_origin), that defines into which queue the message will be stored.
- Messages are stored by being appended to the last `Page` of the Queue's Book. A Queue is a book along with the MessageOrigin for that book.
@@ -2,11 +2,11 @@
:highlightjs-languages: rust
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
= pallet_multisig
= pezpallet_multisig
Branch/Release: `release-polkadot-v1.10.0`
== Source Code: link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/frame/multisig/src/lib.rs[{github-icon},role=heading-link]
== 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]
== Purpose
@@ -14,7 +14,7 @@ This module enables multi-signature operations in your runtime. It allows multip
== Config
* Pallet-specific configs
* Pezpallet-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.
@@ -22,7 +22,7 @@ This module enables multi-signature operations in your runtime. It allows multip
** `RuntimeEvent` -- The overarching event type.
** `RuntimeCall` -- The overarching call type.
** `Currency` -- The currency mechanism.
** `WeightInfo` -- xref:glossary.adoc#weight[Weight] information for extrinsics in this pallet.
** `WeightInfo` -- xref:glossary.adoc#weight[Weight] information for extrinsics in this pezpallet.
== Dispatchables
@@ -2,19 +2,19 @@
:highlightjs-languages: rust
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
= pallet_proxy
= pezpallet_proxy
Branch/Release: `release-polkadot-v1.10.0`
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/frame/proxy/src/lib.rs[{github-icon},role=heading-link]
== 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]
== Purpose
This pallet enables delegation of rights to execute certain call types from one origin to another.
This pezpallet enables delegation of rights to execute certain call types from one origin to another.
== Config
* Pallet-specific configs:
* Pezpallet-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.
@@ -6,11 +6,11 @@
Branch/Release: `release-polkadot-v1.10.0`
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/cumulus/pallets/parachain-system/src/lib.rs[{github-icon},role=heading-link]
== 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]
== Purpose
This pallet is a core element of each parachain. It will:
This pezpallet is a core element of each parachain. It will:
- Aggregate information about built blocks
- Process binary code upgrades
@@ -20,7 +20,7 @@ This pallet is a core element of each parachain. It will:
== Config
* Pallet-specific configs:
* Pezpallet-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
** `OutboundXcmpMessageSource` — source of outgoing XCMP messages. It is queried in `finalize_block` and later included into collation information
@@ -30,7 +30,7 @@ This pallet is a core element of each parachain. It will:
** `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 wont 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.
* Common parameters for all pallets:
* Common parameters for all pezpallets:
** `RuntimeEvent`
** `WeightInfo`
@@ -115,7 +115,7 @@ Validate and perform the authorized upgrade.
== Important Mentions and FAQ's
=== Pallet's workflow
=== Pezpallet's workflow
* Block Initialization
** Remove already processed xref:glossary.adoc#validation_code[validation code]
@@ -2,21 +2,21 @@
:highlightjs-languages: rust
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
= pallet_transaction_payment
= pezpallet_transaction_payment
Branch/Release: `release-polkadot-v1.10.0`
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/frame/transaction-payment/src/lib.rs[{github-icon},role=heading-link]
== 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]
== Purpose
`pallet-transaction-payment` implements transaction fee logic.
`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`.
`Config::WeightToFee` is a mapping between the smallest unit of compute (*Weight*) and smallest unit of fee.
This pallet also exposes
This pezpallet also exposes
- how to update fees for the next block based on past fees (`Config::FeeMultiplierUpdate`)
- how fees are paid (`Config::OnChargeTransaction`)
@@ -29,20 +29,20 @@ The inputs are defined below in the glossary and config sections.
== Config
* Pallet-specific handlers:
* Pezpallet-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`.
* Pallet-specific converters:
* Pezpallet-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>>`.
* Pallet-specific constants:
* Pezpallet-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`
== Dispatchables
There are no dispatchables (and no errors) in this pallet. This pallet is only intended to configure the transaction fee logic for a chain.
There are no dispatchables (and no errors) in this pezpallet. This pezpallet is only intended to configure the transaction fee logic for a chain.
**Events:**
@@ -2,24 +2,24 @@
:highlightjs-languages: rust
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
= pallet_treasury
= pezpallet_treasury
Branch/Release: `release-polkadot-v1.10.0`
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/substrate/frame/treasury/src/lib.rs[{github-icon},role=heading-link]
== 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]
== Purpose
The Treasury pallet provides a “pot” of funds that can be managed by stakeholders in the system and a structure for making spending proposals from this pot.
The Treasury pezpallet provides a “pot” of funds that can be managed by stakeholders in the system and a structure for making spending proposals from this pot.
== Config
* Pallet-specific configs
** `SpendPeriod` -- Period between successive spends. "Spend" means, treasury spending money to a proposal. `SpendPeriod` determines how often the treasury pallet distributes the assets to the proposals.
* Pezpallet-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 pallet 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 Pallet extension if enabled.
** `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.
** `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,15 +27,15 @@ The Treasury pallet provides a “pot” of funds that can be managed by stakeho
** `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.
* Pallet-specific origins:
* Pezpallet-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.
** `PalletId` -- The treasury's pallet id, used for deriving its sovereign account ID.
** `WeightInfo` -- Weight information for extrinsics in this pallet.
** `PezpalletId` -- 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.
== Dispatchables
@@ -47,7 +47,7 @@ The Treasury pallet provides a “pot” of funds that can be managed by stakeho
----
pub fn spend_local(
origin: OriginFor<T>,
#[pallet::compact] amount: BalanceOf<T, I>,
#[pezpallet::compact] amount: BalanceOf<T, I>,
beneficiary: AccountIdLookupOf<T>,
) -> DispatchResult
----
@@ -239,7 +239,7 @@ You might have come across the below from official documentation or source-code:
The new `spend` dispatchable will not be able to solely `propose` or `approve` proposals separately, nor `reject` them.
After the deprecation update, `treasury` pallet no longer tracks `unapproved` proposals, but only approved ones.
After the deprecation update, `treasury` pezpallet no longer tracks `unapproved` proposals, but only approved ones.
The idea is to use the `treausry` pallet combined with some other pallet which will provide the functionality of tracking unapproved proposals (reject, approve, propose). For Polkadot it's OpenGov (referenda and conviction voting pallets).
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).
@@ -2,45 +2,45 @@
:highlightjs-languages: rust
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
= pallet_xcm
= pezpallet_xcm
Branch/Release: `release-polkadot-v1.10.0`
Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/polkadot/xcm/pallet-xcm/src/lib.rs[{github-icon},role=heading-link]
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]
== Purpose
`pallet-xcm` is responsible for filtering, routing, and executing incoming XCM.
`pezpallet-xcm` is responsible for filtering, routing, and executing incoming XCM.
== Config
* Pallet-specific origins:
** `AdminOrigin` -- The origin that is allowed to call privileged operations on the XCM pallet. Type must implement trait `EnsureOrigin`.
* Pezpallet-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`.
* Pallet-specific ID types:
* Pezpallet-specific ID types:
** `RemoteLockConsumerIdentifier` -- The ID type for local consumers of remote locks. The type must implement `Copy`.
* Pallet-specific handlers:
** `Currency` -- Lockable currency used in the pallet. Type must implement the trait `LockableCurrency`.
* Pezpallet-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`.
* Pallet-specific filters:
* Pezpallet-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`.
* Pallet-specific converters:
* Pezpallet-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`.
* Pallet-specific constants:
* Pezpallet-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 `pallet_xcm::CurrentXcmVersion`.
** `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>`.
** `MaxRemoteLockConsumers` -- The maximum number of consumers a single remote lock may have. Type must implement the trait `Get<u32>`.
** `UniversalLocation` -- This chain's Universal Location. Type must implement the trait `Get<InteriorMultiLocation>`.
@@ -68,10 +68,10 @@ pub fn send(
WARNING: DEPRECATED. `send` will be removed after June 2024. Use `send_blob` instead.
* Deprecation explanation:
** `pallet-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.
** `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.
** 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`.
** `pallet-contracts` takes the XCM encoded now as well. It follows the same API as `execute_blob` and `send_blob`.
** `pezpallet-contracts` takes the XCM encoded now as well. It follows the same API as `execute_blob` and `send_blob`.
Send a versioned XCM `message` to the destination `dest`.
@@ -107,10 +107,10 @@ pub fn execute(
WARNING: DEPRECATED. `execute` will be removed after June 2024. Use `execute_blob` instead.
* Deprecation explanation:
** `pallet-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.
** `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.
** 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`.
** `pallet-contracts` takes the XCM encoded now as well. It follows the same API as `execute_blob` and `send_blob`.
** `pezpallet-contracts` takes the XCM encoded now as well. It follows the same API as `execute_blob` and `send_blob`.
Execute an XCM message from a local, signed, origin.
@@ -2,19 +2,19 @@
:highlightjs-languages: rust
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
= cumulus_pallet_xcmp_queue
= cumulus_pezpallet_xcmp_queue
Branch/Release: `release-polkadot-v1.10.0`
== Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/cumulus/pallets/xcmp-queue/src/lib.rs[{github-icon},role=heading-link]
== 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]
== Purpose
Responsible for the Queues (both incoming and outgoing) for XCMP messages. This pallet does not actually receive or send messages. Its responsibility is to place the incoming and outgoing XCMP messages in their respective queues and manage these queues.
Responsible for the Queues (both incoming and outgoing) for XCMP messages. This pezpallet does not actually receive or send messages. Its responsibility is to place the incoming and outgoing XCMP messages in their respective queues and manage these queues.
== Config
* Pallet-specific configs
* Pezpallet-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.
@@ -24,7 +24,7 @@ Responsible for the Queues (both incoming and outgoing) for XCMP messages. This
** `PriceForSiblingDelivery` -- The price for delivering an XCM to a sibling parachain destination.
* Common configs
** `RuntimeEvent` -- The overarching event type.
** `WeightInfo` -- The xref:glossary.adoc#weight[weight] information of this pallet.
** `WeightInfo` -- The xref:glossary.adoc#weight[weight] information of this pezpallet.
== Dispatchables
@@ -12,9 +12,9 @@ Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkado
`XcmExecutor` is responsible for executing XCM messages locally.
`XcmExecutor` is usually the assignment for `pallet_xcm::Config::XcmExecutor` and is thereby used to execute XCM in that pallet.
`XcmExecutor` is usually the assignment for `pezpallet_xcm::Config::XcmExecutor` and is thereby used to execute XCM in that pezpallet.
NOTE: `XcmExecutor` is not a pallet, but rather it is a `struct` type parameterized by a `Config` trait. The inner config is the `trait Config` which parameterizes the outer config `struct XcmExecutor<Config>`. Both the inner and outer configs are configured in the runtime.
NOTE: `XcmExecutor` is not a pezpallet, but rather it is a `struct` type parameterized by a `Config` trait. The inner config is the `trait Config` which parameterizes the outer config `struct XcmExecutor<Config>`. Both the inner and outer configs are configured in the runtime.
== Inner Config
@@ -50,7 +50,7 @@ The inner `trait Config` used to parameterize `XcmExecutor` has the following as
* Accessors:
- `Weigher` -- The means of determining an XCM message's weight. Type must implement the trait `WeightBounds<Self::RuntimeCall>`.
- `PalletInstancesInfo` -- Information on all pallets. Type must implement the trait `PalletsInfoAccess`.
- `PezpalletInstancesInfo` -- Information on all pezpallets. Type must implement the trait `PezpalletsInfoAccess`.
* Constants:
- `UniversalLocation` -- This chain's Universal Location. Type must implement the trait `Get<InteriorMultiLocation>`.
+36 -36
View File
@@ -15,7 +15,7 @@ With this template, you can:
* Deploy and interact with ERC20 tokens.
* Migrate your existing dAPP from Ethereum ecosystem to Polkadot ecosystem.
The pallet list is constructed by the contributions of Parity, the community, and OpenZeppelin.
The pezpallet list is constructed by the contributions of Parity, the community, and OpenZeppelin.
To maximize the compatibility with EVM, we decided to use `AccountId20` type instead of `AccountId32`.
This choice allowed us to use the signature scheme compatible with Ethereum (ECDSA).
@@ -30,29 +30,29 @@ Metamask integration for example is way simpler for chains with the Ethereum acc
[%collapsible]
====
* https://paritytech.github.io/polkadot-sdk/master/frame_system/index.html#[frame_system] is responsible from creating the runtime, initializing the storage, and providing the base functionality for the runtime.
* https://paritytech.github.io/polkadot-sdk/master/pezframe_system/index.html#[pezframe_system] is responsible from creating the runtime, initializing the storage, and providing the base functionality for the runtime.
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pallet_parachain_system/index.html#[cumulus_pallet_parachain_system] handles low-level details of being a parachain.
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pezpallet_parachain_system/index.html#[cumulus_pezpallet_parachain_system] handles low-level details of being a parachain.
* https://paritytech.github.io/polkadot-sdk/master/pallet_timestamp/index.html#[pallet_timestamp] provides a way for consensus systems to set and check the onchain time.
* https://paritytech.github.io/polkadot-sdk/master/pezpallet_timestamp/index.html#[pezpallet_timestamp] provides a way for consensus systems to set and check the onchain time.
* https://docs.rs/staging-parachain-info/latest/staging_parachain_info/index.html#[parachain_info] provides a way for parachains to report their parachain id and the relay chain block number.
* https://docs.rs/pallet-proxy/latest/pallet_proxy/#[pallet_proxy] enables delegation of rights to execute certain call types from one origin to another.
* https://docs.rs/pezpallet-proxy/latest/pezpallet_proxy/#[pezpallet_proxy] enables delegation of rights to execute certain call types from one origin to another.
* https://paritytech.github.io/polkadot-sdk/master/pallet_utility/index.html#[pallet_utility] contains two basic pieces of functionality:
* https://paritytech.github.io/polkadot-sdk/master/pezpallet_utility/index.html#[pezpallet_utility] contains two basic pieces of functionality:
** Batch dispatch: A stateless operation, allowing any origin to execute multiple calls in a single dispatch. This can be useful to amalgamate proposals, combining `set_code` with corresponding `set_storage`s, for efficient multiple payouts with just a single signature verify, or in combination with one of the other two dispatch functionality.
*** https://paritytech.github.io/polkadot-sdk/master/pallet_utility/pallet/struct.Pallet.html#method.force_batch[force_batch]: Sends a batch of dispatch calls. Errors are allowed and wont interrupt
*** https://paritytech.github.io/polkadot-sdk/master/pallet_utility/pallet/struct.Pallet.html#method.batch[batch]: Sends a batch of dispatch calls. This will return `Ok` in all circumstances. To determine the success of the batch, an event is deposited. If a call failed and the batch was interrupted, then the `BatchInterrupted` event is deposited, along with the number of successful calls made and the error of the failed call. If all were successful, then the `BatchCompleted` event is deposited.
*** https://paritytech.github.io/polkadot-sdk/master/pallet_utility/pallet/struct.Pallet.html#method.batch_all[batch_all]: Send a batch of dispatch calls and atomically execute them. The whole transaction will rollback and fail if any of the calls failed.
*** https://paritytech.github.io/polkadot-sdk/master/pezpallet_utility/pezpallet/struct.Pezpallet.html#method.force_batch[force_batch]: Sends a batch of dispatch calls. Errors are allowed and wont interrupt
*** https://paritytech.github.io/polkadot-sdk/master/pezpallet_utility/pezpallet/struct.Pezpallet.html#method.batch[batch]: Sends a batch of dispatch calls. This will return `Ok` in all circumstances. To determine the success of the batch, an event is deposited. If a call failed and the batch was interrupted, then the `BatchInterrupted` event is deposited, along with the number of successful calls made and the error of the failed call. If all were successful, then the `BatchCompleted` event is deposited.
*** https://paritytech.github.io/polkadot-sdk/master/pezpallet_utility/pezpallet/struct.Pezpallet.html#method.batch_all[batch_all]: Send a batch of dispatch calls and atomically execute them. The whole transaction will rollback and fail if any of the calls failed.
** Pseudonymal dispatch: A stateless operation, allowing a signed origin to execute a call from an alternative signed origin. Each account has 2 * 2**16 possible “pseudonyms” (alternative account IDs) and these can be stacked. This can be useful as a key management tool, where you need multiple distinct accounts (e.g. as controllers for many staking accounts), but where its perfectly fine to have each of them controlled by the same underlying keypair. Derivative accounts are, for the purposes of proxy filtering considered exactly the same as the origin and are thus hampered with the origins filters.
* https://docs.rs/pallet-multisig/latest/pallet_multisig/#[pallet_multisig] enables multi-signature operations in your runtime. This module allows multiple signed origins (accounts) to coordinate and dispatch a call. For the call to execute, the threshold number of accounts from the set (signatories) must approve it.
* https://docs.rs/pezpallet-multisig/latest/pezpallet_multisig/#[pezpallet_multisig] enables multi-signature operations in your runtime. This module allows multiple signed origins (accounts) to coordinate and dispatch a call. For the call to execute, the threshold number of accounts from the set (signatories) must approve it.
* https://docs.rs/pallet-scheduler/latest/pallet_scheduler/#[pallet_scheduler] schedules runtime calls.
* https://docs.rs/pezpallet-scheduler/latest/pezpallet_scheduler/#[pezpallet_scheduler] schedules runtime calls.
* https://docs.rs/pallet-preimage/latest/pallet_preimage/#[preimage] allows for the users and the runtime to store the preimage of a hash on chain. This can be used by other pallets for storing and managing large byte-blobs.
* https://docs.rs/pezpallet-preimage/latest/pezpallet_preimage/#[preimage] allows for the users and the runtime to store the preimage of a hash on chain. This can be used by other pezpallets for storing and managing large byte-blobs.
====
@@ -61,7 +61,7 @@ Metamask integration for example is way simpler for chains with the Ethereum acc
[%collapsible]
====
* https://docs.rs/pallet-balances/latest/pallet_balances/#[pallet_balances] provides functions for:
* https://docs.rs/pezpallet-balances/latest/pezpallet_balances/#[pezpallet_balances] provides functions for:
** Getting and setting free balances.
** Retrieving total, reserved and unreserved balances.
** Repatriating a reserved balance to a beneficiary account that exists.
@@ -71,17 +71,17 @@ Metamask integration for example is way simpler for chains with the Ethereum acc
** Managing total issuance.
** Setting and managing locks.
* https://docs.rs/pallet-transaction-payment/latest/pallet_transaction_payment/#[pallet_transaction_payment] provides the basic logic needed to pay the absolute minimum amount needed for a transaction to be included. This includes:
* https://docs.rs/pezpallet-transaction-payment/latest/pezpallet_transaction_payment/#[pezpallet_transaction_payment] provides the basic logic needed to pay the absolute minimum amount needed for a transaction to be included. This includes:
** *base fee*: This is the minimum amount a user pays for a transaction. It is declared as a base *weight* in the runtime and converted to a fee using `WeightToFee`.
** *weight fee*: A fee proportional to amount of weight a transaction consumes.
** *length fee*: A fee proportional to the encoded length of the transaction.
** *tip*: An optional tip. Tip increases the priority of the transaction, giving it a higher chance to be included by the transaction queue.
* https://paritytech.github.io/polkadot-sdk/master/pallet_assets/index.html#[pallet_assets] deals with sets of assets implementing fungible traits, via [fungibles] traits in a simple, secure manner. This pallet makes heavy use of concepts such as Holds and Freezes from the [frame_support::traits::fungible] traits, therefore you should read and understand those docs as a prerequisite to understanding this pallet.
* https://paritytech.github.io/polkadot-sdk/master/pezpallet_assets/index.html#[pezpallet_assets] deals with sets of assets implementing fungible traits, via [fungibles] traits in a simple, secure manner. This pezpallet makes heavy use of concepts such as Holds and Freezes from the [pezframe_support::traits::fungible] traits, therefore you should read and understand those docs as a prerequisite to understanding this pezpallet.
* https://docs.rs/pallet-treasury/latest/pallet_treasury/#[pallet_treasury] provides a “pot” of funds that can be managed by stakeholders in the system and a structure for making spending proposals from this pot.
* https://docs.rs/pezpallet-treasury/latest/pezpallet_treasury/#[pezpallet_treasury] provides a “pot” of funds that can be managed by stakeholders in the system and a structure for making spending proposals from this pot.
* https://github.com/moonbeam-foundation/moonbeam/blob/master/pallets/asset-manager/src/lib.rs[#pallet_asset_manager] allows to register new assets if certain conditions are met.
* https://github.com/moonbeam-foundation/moonbeam/blob/master/pezpallets/asset-manager/src/lib.rs[#pezpallet_asset_manager] allows to register new assets if certain conditions are met.
====
@@ -90,15 +90,15 @@ Metamask integration for example is way simpler for chains with the Ethereum acc
[%collapsible]
====
* https://docs.rs/pallet-sudo/latest/pallet_sudo/#[pallet_sudo] provides a way to execute privileged runtime calls using a specified sudo (“superuser do”) account.
* https://docs.rs/pezpallet-sudo/latest/pezpallet_sudo/#[pezpallet_sudo] provides a way to execute privileged runtime calls using a specified sudo (“superuser do”) account.
* https://docs.rs/pallet-conviction-voting/latest/pallet_conviction_voting/#[pallet_conviction_voting] manages actual voting in polls
* https://docs.rs/pezpallet-conviction-voting/latest/pezpallet_conviction_voting/#[pezpallet_conviction_voting] manages actual voting in polls
* https://docs.rs/pallet-referenda/latest/pallet_referenda/#[pallet_referenda] executes referenda. No voting logic is present here, and the Polling and PollStatus traits are used to allow the voting logic (likely in a pallet) to be utilized.
* https://docs.rs/pezpallet-referenda/latest/pezpallet_referenda/#[pezpallet_referenda] executes referenda. No voting logic is present here, and the Polling and PollStatus traits are used to allow the voting logic (likely in a pezpallet) to be utilized.
* https://github.com/OpenZeppelin/polkadot-runtime-templates/blob/main/evm-template/runtime/src/configs/governance/origins.rs#[pallet_custom_origins] allows custom origins for governance. // TODO: double check this, is it really our own pallet, or just copy paste?
* https://github.com/OpenZeppelin/polkadot-runtime-templates/blob/main/evm-template/runtime/src/configs/governance/origins.rs#[pezpallet_custom_origins] allows custom origins for governance. // TODO: double check this, is it really our own pezpallet, or just copy paste?
* https://docs.rs/pallet-whitelist/latest/pallet_whitelist/index.html#[pallet_whitelist] allows some configurable origin: `Config::WhitelistOrigin` to whitelist some hash of a call, and allows another configurable origin: `Config::DispatchWhitelistedOrigin` to dispatch them with the root origin.
* https://docs.rs/pezpallet-whitelist/latest/pezpallet_whitelist/index.html#[pezpallet_whitelist] allows some configurable origin: `Config::WhitelistOrigin` to whitelist some hash of a call, and allows another configurable origin: `Config::DispatchWhitelistedOrigin` to dispatch them with the root origin.
====
@@ -108,24 +108,24 @@ Metamask integration for example is way simpler for chains with the Ethereum acc
[%collapsible]
====
* https://docs.rs/pallet-authorship/latest/pallet_authorship/#[pallet_authorship] provides authorship tracking for FRAME runtimes. This tracks the current author of the block and recent uncles.
* https://docs.rs/pezpallet-authorship/latest/pezpallet_authorship/#[pezpallet_authorship] provides authorship tracking for FRAME runtimes. This tracks the current author of the block and recent uncles.
* https://paritytech.github.io/polkadot-sdk/master/pallet_collator_selection/index.html#[pallet_collator_selection] - manages the collators of a parachain. **Collation is *not* a secure activity** and this pallet does not implement any game-theoretic mechanisms to meet BFT safety assumptions of the chosen set. This pallet can:
* https://paritytech.github.io/polkadot-sdk/master/pezpallet_collator_selection/index.html#[pezpallet_collator_selection] - manages the collators of a parachain. **Collation is *not* a secure activity** and this pezpallet does not implement any game-theoretic mechanisms to meet BFT safety assumptions of the chosen set. This pezpallet can:
** set invulnerable candidates (fixed candidates)
** set desired candidates (ideal number of non-fixed)
** set candidacy bond
** remove invulnerability (turn candidate into not fixed)
** and many more (all related to collators)
* https://paritytech.github.io/polkadot-sdk/master/pallet_session/index.html#[pallet_session] allows validators to manage their session keys, provides a function for changing the session length, and handles session rotation.
* https://paritytech.github.io/polkadot-sdk/master/pezpallet_session/index.html#[pezpallet_session] allows validators to manage their session keys, provides a function for changing the session length, and handles session rotation.
* https://docs.rs/pallet-aura/latest/pallet_aura/#[pallet_aura] extends Aura consensus by managing offline reporting. It can:
* https://docs.rs/pezpallet-aura/latest/pezpallet_aura/#[pezpallet_aura] extends Aura consensus by managing offline reporting. It can:
** get the current slot
** get the slot duration
** change and initialize authorities
** ensure the correctness of the state of this pallet
** ensure the correctness of the state of this pezpallet
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pallet_aura_ext/index.html#[cumulus_pallet_aura_ext] extends the Substrate AuRa pallet to make it compatible with parachains. It provides the Pallet, the Config and the GenesisConfig.
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pezpallet_aura_ext/index.html#[cumulus_pezpallet_aura_ext] extends the Substrate AuRa pezpallet to make it compatible with parachains. It provides the Pezpallet, the Config and the GenesisConfig.
====
@@ -134,22 +134,22 @@ Metamask integration for example is way simpler for chains with the Ethereum acc
[%collapsible]
====
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pallet_xcmp_queue/index.html#[cumulus_pallet_xcmp_queue] Responsible for the Queues (both incoming and outgoing) for XCMP messages. This pallet does not actually receive or send messages. Its responsibility is to place the incoming and outgoing XCMP messages in their respective queues and manage these queues.
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pezpallet_xcmp_queue/index.html#[cumulus_pezpallet_xcmp_queue] Responsible for the Queues (both incoming and outgoing) for XCMP messages. This pezpallet does not actually receive or send messages. Its responsibility is to place the incoming and outgoing XCMP messages in their respective queues and manage these queues.
* https://docs.rs/pallet-xcm/6.0.0/pallet_xcm/#[pallet_xcm] is responsible for filtering, routing, and executing incoming XCM.
* https://docs.rs/pezpallet-xcm/6.0.0/pezpallet_xcm/#[pezpallet_xcm] is responsible for filtering, routing, and executing incoming XCM.
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pallet_xcm/index.html#[cumulus_pallet_xcm] is responsible from detecting and ensuring whether XCM's are coming from *Relay* or *Sibling* chain.
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pezpallet_xcm/index.html#[cumulus_pezpallet_xcm] is responsible from detecting and ensuring whether XCM's are coming from *Relay* or *Sibling* chain.
* https://docs.rs/pallet-message-queue/latest/pallet_message_queue/#[MessageQueue] provides generalized message queuing and processing capabilities on a per-queue basis for arbitrary use-cases.
* https://docs.rs/pezpallet-message-queue/latest/pezpallet_message_queue/#[MessageQueue] provides generalized message queuing and processing capabilities on a per-queue basis for arbitrary use-cases.
====
=== EVM
* https://docs.rs/pallet-ethereum/latest/pallet_ethereum/#[Ethereum] works together with EVM pallet to provide full emulation for Ethereum block processing.
* https://docs.rs/pezpallet-ethereum/latest/pezpallet_ethereum/#[Ethereum] works together with EVM pezpallet to provide full emulation for Ethereum block processing.
* https://docs.rs/pallet-evm/5.0.0/pallet_evm/#[EVM] allows unmodified EVM code to be executed in a Substrate-based blockchain.
* https://docs.rs/pezpallet-evm/5.0.0/pezpallet_evm/#[EVM] allows unmodified EVM code to be executed in a Substrate-based blockchain.
* https://github.com/polkadot-evm/frontier/blob/master/frame/base-fee/src/lib.rs#[BaseFee] dynamically adjusts the `BaseFeePerGas` based on elasticity (zero elasticity means constant `BaseFeePerGas`).
* https://github.com/polkadot-evm/frontier/blob/master/pezframe/base-fee/src/lib.rs#[BaseFee] dynamically adjusts the `BaseFeePerGas` based on elasticity (zero elasticity means constant `BaseFeePerGas`).
* https://github.com/polkadot-evm/frontier/blob/master/frame/evm-chain-id/src/lib.rs#[EvmChainId] stores the numeric Ethereum-style chain id in the runtime. This pallet can simplify setting up multiple networks with different chain ID by configuring the chain spec without requiring changes to the runtime config.
* https://github.com/polkadot-evm/frontier/blob/master/pezframe/evm-chain-id/src/lib.rs#[EvmChainId] stores the numeric Ethereum-style chain id in the runtime. This pezpallet can simplify setting up multiple networks with different chain ID by configuring the chain spec without requiring changes to the runtime config.
+34 -34
View File
@@ -7,17 +7,17 @@
Generic Runtime Template is constructed with the purpose of providing the most generic template that is working out of the box.
The pallet list is constructed by the contributions of Parity, the community, and OpenZeppelin.
The pezpallet list is constructed by the contributions of Parity, the community, and OpenZeppelin.
Our motivation for crafting the pallet list was to be as minimalistic as possible,
whilst preserving the most important pallets that are used in the Polkadot ecosystem.
Our motivation for crafting the pezpallet list was to be as minimalistic as possible,
whilst preserving the most important pezpallets that are used in the Polkadot ecosystem.
We designed this template to be generic, so that it can be used as a starting point for any other project/template,
and we aim to base our future templates off of this one.
To demystify the hard concepts, we provided a documentation, in which you can find:
* Explanation of the pallets that are used in this template (purpose, terminology, configuration, dispatchables, etc.).
* Explanation of the pezpallets that are used in this template (purpose, terminology, configuration, dispatchables, etc.).
* General guides regarding this template.
* Runtime related guides.
* And miscellaneous topics.
@@ -29,29 +29,29 @@ To demystify the hard concepts, we provided a documentation, in which you can fi
[%collapsible]
====
* https://paritytech.github.io/polkadot-sdk/master/frame_system/index.html#[frame_system] is responsible from creating the runtime, initializing the storage, and providing the base functionality for the runtime.
* https://paritytech.github.io/polkadot-sdk/master/pezframe_system/index.html#[pezframe_system] is responsible from creating the runtime, initializing the storage, and providing the base functionality for the runtime.
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pallet_parachain_system/index.html#[cumulus_pallet_parachain_system] handles low-level details of being a parachain.
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pezpallet_parachain_system/index.html#[cumulus_pezpallet_parachain_system] handles low-level details of being a parachain.
* https://paritytech.github.io/polkadot-sdk/master/pallet_timestamp/index.html#[pallet_timestamp] provides a way for consensus systems to set and check the onchain time.
* https://paritytech.github.io/polkadot-sdk/master/pezpallet_timestamp/index.html#[pezpallet_timestamp] provides a way for consensus systems to set and check the onchain time.
* https://docs.rs/staging-parachain-info/latest/staging_parachain_info/index.html#[parachain_info] provides a way for parachains to report their parachain id and the relay chain block number.
* https://docs.rs/pallet-proxy/latest/pallet_proxy/#[pallet_proxy] enables delegation of rights to execute certain call types from one origin to another.
* https://docs.rs/pezpallet-proxy/latest/pezpallet_proxy/#[pezpallet_proxy] enables delegation of rights to execute certain call types from one origin to another.
* https://paritytech.github.io/polkadot-sdk/master/pallet_utility/index.html#[pallet_utility] contains two basic pieces of functionality:
* https://paritytech.github.io/polkadot-sdk/master/pezpallet_utility/index.html#[pezpallet_utility] contains two basic pieces of functionality:
** Batch dispatch: A stateless operation, allowing any origin to execute multiple calls in a single dispatch. This can be useful to amalgamate proposals, combining `set_code` with corresponding `set_storage`s, for efficient multiple payouts with just a single signature verify, or in combination with one of the other two dispatch functionality.
*** https://paritytech.github.io/polkadot-sdk/master/pallet_utility/pallet/struct.Pallet.html#method.force_batch[force_batch]: Sends a batch of dispatch calls. Errors are allowed and wont interrupt
*** https://paritytech.github.io/polkadot-sdk/master/pallet_utility/pallet/struct.Pallet.html#method.batch[batch]: Sends a batch of dispatch calls. This will return `Ok` in all circumstances. To determine the success of the batch, an event is deposited. If a call failed and the batch was interrupted, then the `BatchInterrupted` event is deposited, along with the number of successful calls made and the error of the failed call. If all were successful, then the `BatchCompleted` event is deposited.
*** https://paritytech.github.io/polkadot-sdk/master/pallet_utility/pallet/struct.Pallet.html#method.batch_all[batch_all]: Send a batch of dispatch calls and atomically execute them. The whole transaction will rollback and fail if any of the calls failed.
*** https://paritytech.github.io/polkadot-sdk/master/pezpallet_utility/pezpallet/struct.Pezpallet.html#method.force_batch[force_batch]: Sends a batch of dispatch calls. Errors are allowed and wont interrupt
*** https://paritytech.github.io/polkadot-sdk/master/pezpallet_utility/pezpallet/struct.Pezpallet.html#method.batch[batch]: Sends a batch of dispatch calls. This will return `Ok` in all circumstances. To determine the success of the batch, an event is deposited. If a call failed and the batch was interrupted, then the `BatchInterrupted` event is deposited, along with the number of successful calls made and the error of the failed call. If all were successful, then the `BatchCompleted` event is deposited.
*** https://paritytech.github.io/polkadot-sdk/master/pezpallet_utility/pezpallet/struct.Pezpallet.html#method.batch_all[batch_all]: Send a batch of dispatch calls and atomically execute them. The whole transaction will rollback and fail if any of the calls failed.
** Pseudonymal dispatch: A stateless operation, allowing a signed origin to execute a call from an alternative signed origin. Each account has 2 * 2**16 possible “pseudonyms” (alternative account IDs) and these can be stacked. This can be useful as a key management tool, where you need multiple distinct accounts (e.g. as controllers for many staking accounts), but where its perfectly fine to have each of them controlled by the same underlying keypair. Derivative accounts are, for the purposes of proxy filtering considered exactly the same as the origin and are thus hampered with the origins filters.
* https://docs.rs/pallet-multisig/latest/pallet_multisig/#[pallet_multisig] enables multi-signature operations in your runtime. This module allows multiple signed origins (accounts) to coordinate and dispatch a call. For the call to execute, the threshold number of accounts from the set (signatories) must approve it.
* https://docs.rs/pezpallet-multisig/latest/pezpallet_multisig/#[pezpallet_multisig] enables multi-signature operations in your runtime. This module allows multiple signed origins (accounts) to coordinate and dispatch a call. For the call to execute, the threshold number of accounts from the set (signatories) must approve it.
* https://docs.rs/pallet-scheduler/latest/pallet_scheduler/#[pallet_scheduler] schedules runtime calls.
* https://docs.rs/pezpallet-scheduler/latest/pezpallet_scheduler/#[pezpallet_scheduler] schedules runtime calls.
* https://docs.rs/pallet-preimage/latest/pallet_preimage/#[preimage] allows for the users and the runtime to store the preimage of a hash on chain. This can be used by other pallets for storing and managing large byte-blobs.
* https://docs.rs/pezpallet-preimage/latest/pezpallet_preimage/#[preimage] allows for the users and the runtime to store the preimage of a hash on chain. This can be used by other pezpallets for storing and managing large byte-blobs.
====
@@ -60,7 +60,7 @@ To demystify the hard concepts, we provided a documentation, in which you can fi
[%collapsible]
====
* https://docs.rs/pallet-balances/latest/pallet_balances/#[pallet_balances] provides functions for:
* https://docs.rs/pezpallet-balances/latest/pezpallet_balances/#[pezpallet_balances] provides functions for:
** Getting and setting free balances.
** Retrieving total, reserved and unreserved balances.
** Repatriating a reserved balance to a beneficiary account that exists.
@@ -70,15 +70,15 @@ To demystify the hard concepts, we provided a documentation, in which you can fi
** Managing total issuance.
** Setting and managing locks.
* https://docs.rs/pallet-transaction-payment/latest/pallet_transaction_payment/#[pallet_transaction_payment] provides the basic logic needed to pay the absolute minimum amount needed for a transaction to be included. This includes:
* https://docs.rs/pezpallet-transaction-payment/latest/pezpallet_transaction_payment/#[pezpallet_transaction_payment] provides the basic logic needed to pay the absolute minimum amount needed for a transaction to be included. This includes:
** *base fee*: This is the minimum amount a user pays for a transaction. It is declared as a base *weight* in the runtime and converted to a fee using `WeightToFee`.
** *weight fee*: A fee proportional to amount of weight a transaction consumes.
** *length fee*: A fee proportional to the encoded length of the transaction.
** *tip*: An optional tip. Tip increases the priority of the transaction, giving it a higher chance to be included by the transaction queue.
* https://paritytech.github.io/polkadot-sdk/master/pallet_assets/index.html#[pallet_assets] deals with sets of assets implementing fungible traits, via [fungibles] traits in a simple, secure manner. This pallet makes heavy use of concepts such as Holds and Freezes from the [frame_support::traits::fungible] traits, therefore you should read and understand those docs as a prerequisite to understanding this pallet.
* https://paritytech.github.io/polkadot-sdk/master/pezpallet_assets/index.html#[pezpallet_assets] deals with sets of assets implementing fungible traits, via [fungibles] traits in a simple, secure manner. This pezpallet makes heavy use of concepts such as Holds and Freezes from the [pezframe_support::traits::fungible] traits, therefore you should read and understand those docs as a prerequisite to understanding this pezpallet.
* https://docs.rs/pallet-treasury/latest/pallet_treasury/#[pallet_treasury] provides a “pot” of funds that can be managed by stakeholders in the system and a structure for making spending proposals from this pot.
* https://docs.rs/pezpallet-treasury/latest/pezpallet_treasury/#[pezpallet_treasury] provides a “pot” of funds that can be managed by stakeholders in the system and a structure for making spending proposals from this pot.
====
@@ -87,15 +87,15 @@ To demystify the hard concepts, we provided a documentation, in which you can fi
[%collapsible]
====
* https://docs.rs/pallet-sudo/latest/pallet_sudo/#[pallet_sudo] provides a way to execute privileged runtime calls using a specified sudo (“superuser do”) account.
* https://docs.rs/pezpallet-sudo/latest/pezpallet_sudo/#[pezpallet_sudo] provides a way to execute privileged runtime calls using a specified sudo (“superuser do”) account.
* https://docs.rs/pallet-conviction-voting/latest/pallet_conviction_voting/#[pallet_conviction_voting] manages actual voting in polls
* https://docs.rs/pezpallet-conviction-voting/latest/pezpallet_conviction_voting/#[pezpallet_conviction_voting] manages actual voting in polls
* https://docs.rs/pallet-referenda/latest/pallet_referenda/#[pallet_referenda] executes referenda. No voting logic is present here, and the Polling and PollStatus traits are used to allow the voting logic (likely in a pallet) to be utilized.
* https://docs.rs/pezpallet-referenda/latest/pezpallet_referenda/#[pezpallet_referenda] executes referenda. No voting logic is present here, and the Polling and PollStatus traits are used to allow the voting logic (likely in a pezpallet) to be utilized.
* https://github.com/OpenZeppelin/polkadot-runtime-templates/blob/main/evm-template/runtime/src/configs/governance/origins.rs#[pallet_custom_origins] allows custom origins for governance. // TODO: double check this, is it really our own pallet, or just copy paste?
* https://github.com/OpenZeppelin/polkadot-runtime-templates/blob/main/evm-template/runtime/src/configs/governance/origins.rs#[pezpallet_custom_origins] allows custom origins for governance. // TODO: double check this, is it really our own pezpallet, or just copy paste?
* https://docs.rs/pallet-whitelist/latest/pallet_whitelist/index.html#[pallet_whitelist] allows some configurable origin: `Config::WhitelistOrigin` to whitelist some hash of a call, and allows another configurable origin: `Config::DispatchWhitelistedOrigin` to dispatch them with the root origin.
* https://docs.rs/pezpallet-whitelist/latest/pezpallet_whitelist/index.html#[pezpallet_whitelist] allows some configurable origin: `Config::WhitelistOrigin` to whitelist some hash of a call, and allows another configurable origin: `Config::DispatchWhitelistedOrigin` to dispatch them with the root origin.
====
@@ -105,24 +105,24 @@ To demystify the hard concepts, we provided a documentation, in which you can fi
[%collapsible]
====
* https://docs.rs/pallet-authorship/latest/pallet_authorship/#[pallet_authorship] provides authorship tracking for FRAME runtimes. This tracks the current author of the block and recent uncles.
* https://docs.rs/pezpallet-authorship/latest/pezpallet_authorship/#[pezpallet_authorship] provides authorship tracking for FRAME runtimes. This tracks the current author of the block and recent uncles.
* https://paritytech.github.io/polkadot-sdk/master/pallet_collator_selection/index.html#[pallet_collator_selection] - manages the collators of a parachain. **Collation is *not* a secure activity** and this pallet does not implement any game-theoretic mechanisms to meet BFT safety assumptions of the chosen set. This pallet can:
* https://paritytech.github.io/polkadot-sdk/master/pezpallet_collator_selection/index.html#[pezpallet_collator_selection] - manages the collators of a parachain. **Collation is *not* a secure activity** and this pezpallet does not implement any game-theoretic mechanisms to meet BFT safety assumptions of the chosen set. This pezpallet can:
** set invulnerable candidates (fixed candidates)
** set desired candidates (ideal number of non-fixed)
** set candidacy bond
** remove invulnerability (turn candidate into not fixed)
** and many more (all related to collators)
* https://paritytech.github.io/polkadot-sdk/master/pallet_session/index.html#[pallet_session] allows validators to manage their session keys, provides a function for changing the session length, and handles session rotation.
* https://paritytech.github.io/polkadot-sdk/master/pezpallet_session/index.html#[pezpallet_session] allows validators to manage their session keys, provides a function for changing the session length, and handles session rotation.
* https://docs.rs/pallet-aura/latest/pallet_aura/#[pallet_aura] extends Aura consensus by managing offline reporting. It can:
* https://docs.rs/pezpallet-aura/latest/pezpallet_aura/#[pezpallet_aura] extends Aura consensus by managing offline reporting. It can:
** get the current slot
** get the slot duration
** change and initialize authorities
** ensure the correctness of the state of this pallet
** ensure the correctness of the state of this pezpallet
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pallet_aura_ext/index.html#[cumulus_pallet_aura_ext] extends the Substrate AuRa pallet to make it compatible with parachains. It provides the Pallet, the Config and the GenesisConfig.
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pezpallet_aura_ext/index.html#[cumulus_pezpallet_aura_ext] extends the Substrate AuRa pezpallet to make it compatible with parachains. It provides the Pezpallet, the Config and the GenesisConfig.
====
@@ -131,12 +131,12 @@ To demystify the hard concepts, we provided a documentation, in which you can fi
[%collapsible]
====
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pallet_xcmp_queue/index.html#[cumulus_pallet_xcmp_queue] Responsible for the Queues (both incoming and outgoing) for XCMP messages. This pallet does not actually receive or send messages. Its responsibility is to place the incoming and outgoing XCMP messages in their respective queues and manage these queues.
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pezpallet_xcmp_queue/index.html#[cumulus_pezpallet_xcmp_queue] Responsible for the Queues (both incoming and outgoing) for XCMP messages. This pezpallet does not actually receive or send messages. Its responsibility is to place the incoming and outgoing XCMP messages in their respective queues and manage these queues.
* https://docs.rs/pallet-xcm/6.0.0/pallet_xcm/#[pallet_xcm] is responsible for filtering, routing, and executing incoming XCM.
* https://docs.rs/pezpallet-xcm/6.0.0/pezpallet_xcm/#[pezpallet_xcm] is responsible for filtering, routing, and executing incoming XCM.
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pallet_xcm/index.html#[cumulus_pallet_xcm] is responsible from detecting and ensuring whether XCM's are coming from *Relay* or *Sibling* chain.
* https://paritytech.github.io/polkadot-sdk/master/cumulus_pezpallet_xcm/index.html#[cumulus_pezpallet_xcm] is responsible from detecting and ensuring whether XCM's are coming from *Relay* or *Sibling* chain.
* https://docs.rs/pallet-message-queue/latest/pallet_message_queue/#[MessageQueue] provides generalized message queuing and processing capabilities on a per-queue basis for arbitrary use-cases.
* https://docs.rs/pezpallet-message-queue/latest/pezpallet_message_queue/#[MessageQueue] provides generalized message queuing and processing capabilities on a per-queue basis for arbitrary use-cases.
====
@@ -2,7 +2,7 @@
:highlightjs-languages: rust
:github-icon: pass:[<svg class="icon"><use href="#github-icon"/></svg>]
= Pallet Name
= Pezpallet Name
Branch/Release: `release-polkadot-v{x.x.x}`
@@ -10,11 +10,11 @@ Branch/Release: `release-polkadot-v{x.x.x}`
== Source Code link:https://github.com[{github-icon},role=heading-link]
This is a freeform description of the tasks that this pallet fulfills
This is a freeform description of the tasks that this pezpallet fulfills
== Config
* Pallet-specific configs
* Pezpallet-specific configs
** `ConfigType` -- description of config. Include the possible values if there is a set of them.
* Common configs
** `ConfigType` -- description of config, if needed
@@ -57,4 +57,4 @@ TIP: This is how you should give some useful advice
== Important Mentions and FAQ's
Here you may put a freeform information about any aspect of the pallet.
Here you may put a freeform information about any aspect of the pezpallet.
+5 -5
View File
@@ -9,16 +9,16 @@ Freeform description of runtime purpose
== Configuration
// List of pallets with their config description
// List of pezpallets with their config description
=== Pallet Category
=== Pezpallet Category
[%collapsible]
====
===== `++pallet_name++` link:https://google.com[{github-icon},role=heading-link]
Freeform description of the reason why this pallet was added.
===== `++pezpallet_name++` link:https://google.com[{github-icon},role=heading-link]
Freeform description of the reason why this pezpallet was added.
Freeform description may include important configuration parameters as:
impl pallet_name::Config for Runtime {
impl pezpallet_name::Config for Runtime {
type Config1 = Type1;
type Config2 = Type2;
}
+79 -79
View File
@@ -3,11 +3,11 @@ members = [ "node", "runtime", "template-fuzzer" ]
resolver = "2"
[workspace.package]
authors = [ "OpenZeppelin" ]
description = "EVM Runtime template for Polkadot Para{chains, cores}"
authors = [ "OpenZeppelin", "Kurdistan Tech Institue", "pezkuwichain team" ]
description = "EVM Runtime template for Pezkuwi Para{chains, cores}"
edition = "2021"
license = "GPL-3.0-only"
repository = "https://github.com/OpenZeppelin/polkadot-runtime-templates"
repository = "https://github.com/OpenZeppelin/pezkuwi-runtime-templates"
[workspace.dependencies]
clap = { version = "4.5.3", features = [ "derive" ] }
@@ -28,39 +28,39 @@ serde_derive = { version = "1.0.121", default-features = false }
serde_json = { version = "1.0.121", default-features = false }
smallvec = "1.11.0"
frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
frame-support = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
frame-system = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
openzeppelin-pallet-abstractions = { git = "https://github.com/OpenZeppelin/openzeppelin-pallet-abstractions", branch = "polkadot-stable2503", default-features = false }
openzeppelin-pallet-abstractions-proc = { git = "https://github.com/OpenZeppelin/openzeppelin-pallet-abstractions", branch = "polkadot-stable2503", default-features = false }
pallet-asset-tx-payment = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-assets = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-conviction-voting = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-referenda = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-treasury = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-whitelist = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezframe-benchmarking = { package = "frame-benchmarking", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezframe-benchmarking-cli = { package = "frame-benchmarking-cli", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezframe-executive = { package = "frame-executive", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezframe-metadata-hash-extension = { package = "frame-metadata-hash-extension", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezframe-support = { package = "frame-support", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezframe-system = { package = "frame-system", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezframe-system-benchmarking = { package = "frame-system-benchmarking", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezframe-system-rpc-runtime-api = { package = "frame-system-rpc-runtime-api", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezframe-try-runtime = { package = "frame-try-runtime", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
openzeppelin-pezpallet-abstractions = { package = "openzeppelin-pallet-abstractions", git = "https://github.com/OpenZeppelin/openzeppelin-pallet-abstractions", branch = "polkadot-stable2503", default-features = false }
openzeppelin-pezpallet-abstractions-proc = { package = "openzeppelin-pallet-abstractions-proc", git = "https://github.com/OpenZeppelin/openzeppelin-pallet-abstractions", branch = "polkadot-stable2503", default-features = false }
pezpallet-asset-tx-payment = { package = "pallet-asset-tx-payment", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-assets = { package = "pallet-assets", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-aura = { package = "pallet-aura", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-authorship = { package = "pallet-authorship", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-balances = { package = "pallet-balances", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-conviction-voting = { package = "pallet-conviction-voting", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-membership = { package = "pallet-membership", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-message-queue = { package = "pallet-message-queue", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-multisig = { package = "pallet-multisig", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-preimage = { package = "pallet-preimage", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-proxy = { package = "pallet-proxy", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-referenda = { package = "pallet-referenda", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-scheduler = { package = "pallet-scheduler", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-session = { package = "pallet-session", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-sudo = { package = "pallet-sudo", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-timestamp = { package = "pallet-timestamp", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-transaction-payment = { package = "pallet-transaction-payment", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-transaction-payment-rpc = { package = "pallet-transaction-payment-rpc", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-transaction-payment-rpc-runtime-api = { package = "pallet-transaction-payment-rpc-runtime-api", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-treasury = { package = "pallet-treasury", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-utility = { package = "pallet-utility", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-whitelist = { package = "pallet-whitelist", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
@@ -99,22 +99,22 @@ sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", default-fea
sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
sp-version = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2503" }
substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
bizinikiwi-build-script-utils = { package = "substrate-build-script-utils", git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2503" }
bizinikiwi-pezframe-rpc-system = { package = "substrate-frame-rpc-system", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
bizinikiwi-prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
bizinikiwi-wasm-builder = { package = "substrate-wasm-builder", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
# Polkadot
pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
polkadot-parachain-primitives = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
xcm-executor = { package = "staging-xcm-executor", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
xcm-simulator = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
# Pezkuwi
pezpallet-xcm = { package = "pallet-xcm", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezkuwi-cli = { package = "polkadot-cli", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezkuwi-teyrchain-primitives = { package = "polkadot-parachain-primitives", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezkuwi-primitives = { package = "polkadot-primitives", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezkuwi-runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezkuwi-runtime-teyrchains = { package = "polkadot-runtime-parachains", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
staging-xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
staging-xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
staging-xcm-executor = { package = "staging-xcm-executor", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
xcm-pez-simulator = { package = "xcm-simulator", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
# Cumulus
assets-common = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
@@ -123,24 +123,24 @@ cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk",
cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-client-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-client-teyrchain-inherent = { package = "cumulus-client-parachain-inherent", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-pallet-session-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-pallet-weight-reclaim = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-pezpallet-aura-ext = { package = "cumulus-pallet-aura-ext", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-pezpallet-teyrchain-system = { package = "cumulus-pallet-parachain-system", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-pezpallet-session-benchmarking = { package = "cumulus-pallet-session-benchmarking", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-pezpallet-weight-reclaim = { package = "cumulus-pallet-weight-reclaim", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-pezpallet-xcm = { package = "cumulus-pallet-xcm", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-pezpallet-xcmp-queue = { package = "cumulus-pallet-xcmp-queue", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-primitives-teyrchain-inherent = { package = "cumulus-primitives-parachain-inherent", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-primitives-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-primitives-utility = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
cumulus-test-relay-sproof-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pallet-collator-selection = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
parachain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
parachains-common = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
pezpallet-collator-selection = { package = "pallet-collator-selection", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
teyrchain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
teyrchains-common = { package = "parachains-common", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2503" }
# EVM
ethereum = { git = "https://github.com/rust-ethereum/ethereum", rev = "bbb544622208ef6e9890a2dbc224248f6dd13318" }
@@ -158,17 +158,17 @@ fp-dynamic-fee = { git = "https://github.com/OpenZeppelin/frontier", branch = "p
fp-evm = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false }
fp-rpc = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false }
fp-self-contained = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false }
pallet-base-fee = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false }
pallet-ethereum = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false, features = [
pezpallet-base-fee = { package = "pallet-base-fee", git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false }
pezpallet-ethereum = { package = "pallet-ethereum", git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false, features = [
"forbid-evm-reentrancy",
] }
pallet-evm = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false, features = [
pezpallet-evm = { package = "pallet-evm", git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false, features = [
"forbid-evm-reentrancy",
] }
pallet-evm-chain-id = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false }
pallet-evm-precompile-modexp = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false }
pallet-evm-precompile-sha3fips = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false }
pallet-evm-precompile-simple = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false }
pezpallet-evm-chain-id = { package = "pallet-evm-chain-id", git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false }
pezpallet-evm-precompile-modexp = { package = "pallet-evm-precompile-modexp", git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false }
pezpallet-evm-precompile-sha3fips = { package = "pallet-evm-precompile-sha3fips", git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false }
pezpallet-evm-precompile-simple = { package = "pallet-evm-precompile-simple", git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2503", default-features = false }
# ORML
orml-oracle = { git = "https://github.com/OpenZeppelin/open-runtime-module-library", branch = "polkadot-stable2503", default-features = false }
@@ -178,32 +178,32 @@ orml-xcm-support = { git = "https://github.com/OpenZeppelin/open-runtime-module-
orml-xtokens = { git = "https://github.com/OpenZeppelin/open-runtime-module-library", branch = "polkadot-stable2503", default-features = false }
# Moonbeam
pallet-asset-manager = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2503", default-features = false }
pallet-erc20-xcm-bridge = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2503", default-features = false }
pallet-xcm-transactor = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2503", default-features = false }
pallet-xcm-weight-trader = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2503", default-features = false }
pezpallet-asset-manager = { package = "pallet-asset-manager", git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2503", default-features = false }
pezpallet-erc20-xcm-bridge = { package = "pallet-erc20-xcm-bridge", git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2503", default-features = false }
pezpallet-xcm-transactor = { package = "pallet-xcm-transactor", git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2503", default-features = false }
pezpallet-xcm-weight-trader = { package = "pallet-xcm-weight-trader", git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2503", default-features = false }
xcm-primitives = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2503", default-features = false }
# Fuzzer
substrate-runtimes-fuzzers = { git = "https://github.com/srlabs/substrate-runtime-fuzzer.git", default-features = false, tag = "polkadot-v1.12.0" }
bizinikiwi-runtimes-fuzzers = { package = "substrate-runtimes-fuzzers", git = "https://github.com/srlabs/bizinikiwi-runtime-fuzzer.git", default-features = false, tag = "polkadot-v1.12.0" }
ziggy = { version = "0.8", default-features = false }
# Moonkit
nimbus-consensus = { git = "https://github.com/OpenZeppelin/moonkit", branch = "polkadot-stable2503", default-features = false }
nimbus-primitives = { git = "https://github.com/OpenZeppelin/moonkit", branch = "polkadot-stable2503", default-features = false }
pallet-author-inherent = { git = "https://github.com/OpenZeppelin/moonkit", branch = "polkadot-stable2503", default-features = false }
pezpallet-author-inherent = { package = "pallet-author-inherent", git = "https://github.com/OpenZeppelin/moonkit", branch = "polkadot-stable2503", default-features = false }
# Dancekit
ccp-authorities-noting-inherent = { git = "https://github.com/OpenZeppelin/dancekit", branch = "polkadot-stable2503", default-features = false }
dp-consensus = { git = "https://github.com/OpenZeppelin/dancekit", branch = "polkadot-stable2503", default-features = false }
pallet-cc-authorities-noting = { git = "https://github.com/OpenZeppelin/dancekit", branch = "polkadot-stable2503", default-features = false }
pezpallet-cc-authorities-noting = { package = "pallet-cc-authorities-noting", git = "https://github.com/OpenZeppelin/dancekit", branch = "polkadot-stable2503", default-features = false }
# Tanssi
tc-consensus = { git = "https://github.com/KitHat/tanssi", branch = "polkadot-stable2503", default-features = false }
# [patch."https://github.com/paritytech/polkadot-sdk"]
# Make pallet-migrations optional to avoid the error
# pallet-migrations = { version = "=9.0.0", optional = true }
# [patch."https://github.com/paritytech/pezkuwi-sdk"]
# Make pezpallet-migrations optional to avoid the error
# pezpallet-migrations = { version = "=9.0.0", optional = true }
[workspace.lints.clippy]
large_enum_variant = "allow"
+15 -15
View File
@@ -24,10 +24,10 @@ serde_json = { workspace = true }
# Local
evm-runtime-template = { path = "../runtime" }
# Substrate
frame-benchmarking = { workspace = true }
frame-benchmarking-cli = { workspace = true }
pallet-transaction-payment-rpc = { workspace = true }
# Bizinikiwi
pezframe-benchmarking = { workspace = true }
pezframe-benchmarking-cli = { workspace = true }
pezpallet-transaction-payment-rpc = { workspace = true }
sc-basic-authorship = { workspace = true }
sc-chain-spec = { workspace = true }
sc-cli = { workspace = true }
@@ -56,13 +56,13 @@ sp-io = { workspace = true }
sp-keystore = { workspace = true }
sp-runtime = { workspace = true }
sp-timestamp = { workspace = true }
substrate-frame-rpc-system = { workspace = true }
substrate-prometheus-endpoint = { workspace = true }
bizinikiwi-pezframe-rpc-system = { workspace = true }
bizinikiwi-prometheus-endpoint = { workspace = true }
# Polkadot
polkadot-cli = { workspace = true }
polkadot-primitives = { workspace = true }
xcm = { workspace = true }
# Pezkuwi
pezkuwi-cli = { workspace = true }
pezkuwi-primitives = { workspace = true }
staging-xcm = { workspace = true }
# Cumulus
color-print = { workspace = true }
@@ -71,10 +71,10 @@ cumulus-client-collator = { workspace = true }
cumulus-client-consensus-aura = { workspace = true }
cumulus-client-consensus-common = { workspace = true }
cumulus-client-consensus-proposer = { workspace = true }
cumulus-client-parachain-inherent = { workspace = true }
cumulus-client-teyrchain-inherent = { workspace = true }
cumulus-client-service = { workspace = true }
cumulus-primitives-core = { workspace = true }
cumulus-primitives-parachain-inherent = { workspace = true }
cumulus-primitives-teyrchain-inherent = { workspace = true }
cumulus-relay-chain-interface = { workspace = true }
cumulus-test-relay-sproof-builder = { workspace = true }
@@ -96,16 +96,16 @@ nimbus-consensus = { workspace = true }
tc-consensus = { workspace = true }
[build-dependencies]
substrate-build-script-utils = { workspace = true }
bizinikiwi-build-script-utils = { workspace = true }
[features]
default = []
async-backing = []
runtime-benchmarks = [ "evm-runtime-template/runtime-benchmarks", "frame-benchmarking-cli/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "polkadot-cli/runtime-benchmarks", "polkadot-primitives/runtime-benchmarks", "sc-service/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "tc-consensus/runtime-benchmarks" ]
runtime-benchmarks = [ "evm-runtime-template/runtime-benchmarks", "pezframe-benchmarking-cli/runtime-benchmarks", "pezframe-benchmarking/runtime-benchmarks", "pezkuwi-cli/runtime-benchmarks", "pezkuwi-primitives/runtime-benchmarks", "sc-service/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "tc-consensus/runtime-benchmarks" ]
tanssi = []
try-runtime = [
"evm-runtime-template/try-runtime",
"polkadot-cli/try-runtime",
"pezkuwi-cli/try-runtime",
"sp-runtime/try-runtime",
]
txpool = [ "fc-rpc/txpool" ]
+1 -1
View File
@@ -1,4 +1,4 @@
use substrate_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed};
use bizinikiwi_build_script_utils::{generate_cargo_keys, rerun_if_git_head_changed};
fn main() {
generate_cargo_keys();
+9 -9
View File
@@ -18,7 +18,7 @@ use sp_runtime::traits::{IdentifyAccount, Verify};
use crate::contracts::{parse_contracts, ContractsPath};
/// Specialized `ChainSpec` for the normal parachain runtime.
/// Specialized `ChainSpec` for the normal teyrchain runtime.
pub type ChainSpec = sc_service::GenericChainSpec<Extensions>;
/// The default XCM version to set in genesis config.
@@ -36,9 +36,9 @@ pub fn get_from_seed<TPublic: Public>(seed: &str) -> <TPublic::Pair as Pair>::Pu
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, ChainSpecGroup, ChainSpecExtension)]
#[serde(deny_unknown_fields)]
pub struct Extensions {
/// The relay chain of the Parachain.
/// The relay chain of the TeyrChain.
pub relay_chain: String,
/// The id of the Parachain.
/// The id of the TeyrChain.
pub para_id: u32,
}
@@ -224,8 +224,8 @@ fn testnet_genesis(
"balances": {
"balances": endowed_accounts.iter().cloned().map(|k| (k, 1u64 << 60)).collect::<Vec<_>>(),
},
"parachainInfo": {
"parachainId": id,
"teyrchainInfo": {
"teyrchainId": id,
},
"collatorSelection": {
"invulnerables": invulnerables.iter().cloned().map(|(acc, _)| acc).collect::<Vec<_>>(),
@@ -250,7 +250,7 @@ fn testnet_genesis(
"evm": {
"accounts": accounts
},
"polkadotXcm": {
"pezkuwiXcm": {
"safeXcmVersion": Some(SAFE_XCM_VERSION),
},
"sudo": { "key": Some(root) }
@@ -304,8 +304,8 @@ fn testnet_genesis(
"balances": {
"balances": endowed_accounts.iter().cloned().map(|k| (k, 1u64 << 60)).collect::<Vec<_>>(),
},
"parachainInfo": {
"parachainId": id,
"teyrchainInfo": {
"teyrchainId": id,
},
"treasury": {},
"evmChainId": {
@@ -314,7 +314,7 @@ fn testnet_genesis(
"evm": {
"accounts": accounts
},
"polkadotXcm": {
"pezkuwiXcm": {
"safeXcmVersion": Some(SAFE_XCM_VERSION),
},
"sudo": { "key": Some(root) }
+13 -13
View File
@@ -29,19 +29,19 @@ pub enum Subcommand {
/// Remove the whole chain.
PurgeChain(cumulus_client_cli::PurgeChainCmd),
/// Export the genesis head data of the parachain.
/// Export the genesis head data of the teyrchain.
///
/// Head data is the encoded block header.
#[command(alias = "export-genesis-state")]
ExportGenesisHead(cumulus_client_cli::ExportGenesisHeadCommand),
/// Export the genesis wasm of the parachain.
/// Export the genesis wasm of the teyrchain.
ExportGenesisWasm(cumulus_client_cli::ExportGenesisWasmCommand),
/// Sub-commands concerned with benchmarking.
/// The pallet benchmarking moved to the `pallet` sub-command.
/// The pezpallet benchmarking moved to the `pezpallet` sub-command.
#[command(subcommand)]
Benchmark(frame_benchmarking_cli::BenchmarkCmd),
Benchmark(pezframe_benchmarking_cli::BenchmarkCmd),
/// Try-runtime has migrated to a standalone
/// [CLI](<https://github.com/paritytech/try-runtime-cli>). The subcommand exists as a stub and
@@ -94,14 +94,14 @@ impl ExtendedBuildSpecCmd {
const AFTER_HELP_EXAMPLE: &str = color_print::cstr!(
r#"<bold><underline>Examples:</></>
<bold>parachain-template-node build-spec --disable-default-bootnode > plain-parachain-chainspec.json</>
<bold>teyrchain-template-node build-spec --disable-default-bootnode > plain-teyrchain-chainspec.json</>
Export a chainspec for a local testnet in json format.
<bold>parachain-template-node --chain plain-parachain-chainspec.json --tmp -- --chain paseo-local</>
Launch a full node with chain specification loaded from plain-parachain-chainspec.json.
<bold>parachain-template-node</>
Launch a full node with default parachain <italic>local-testnet</> and relay chain <italic>paseo-local</>.
<bold>parachain-template-node --collator</>
Launch a collator with default parachain <italic>local-testnet</> and relay chain <italic>paseo-local</>.
<bold>teyrchain-template-node --chain plain-teyrchain-chainspec.json --tmp -- --chain paseo-local</>
Launch a full node with chain specification loaded from plain-teyrchain-chainspec.json.
<bold>teyrchain-template-node</>
Launch a full node with default teyrchain <italic>local-testnet</> and relay chain <italic>paseo-local</>.
<bold>teyrchain-template-node --collator</>
Launch a collator with default teyrchain <italic>local-testnet</> and relay chain <italic>paseo-local</>.
"#
);
#[derive(Debug, clap::Parser)]
@@ -139,7 +139,7 @@ pub struct Cli {
#[derive(Debug)]
pub struct RelayChainCli {
/// The actual relay chain cli object.
pub base: polkadot_cli::RunCmd,
pub base: pezkuwi_cli::RunCmd,
/// Optional chain id that should be passed to the relay chain.
pub chain_id: Option<String>,
@@ -157,7 +157,7 @@ impl RelayChainCli {
) -> Self {
let extension = crate::chain_spec::Extensions::try_get(&*para_config.chain_spec);
let chain_id = extension.map(|e| e.relay_chain.clone());
let base_path = para_config.base_path.path().join("polkadot");
let base_path = para_config.base_path.path().join("pezkuwi");
Self {
base_path: Some(base_path),
chain_id,
+30 -30
View File
@@ -1,11 +1,11 @@
use cumulus_client_service::storage_proof_size::HostFunctions as ReclaimHostFunctions;
use cumulus_primitives_core::ParaId;
use evm_runtime_template::Block;
use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE};
use pezframe_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE};
use log::info;
use sc_cli::{
ChainSpec, CliConfiguration, DefaultConfigurationValues, ImportParams, KeystoreParams,
NetworkParams, Result, RpcEndpoint, SharedParams, SubstrateCli,
NetworkParams, Result, RpcEndpoint, SharedParams, BizinikiwiCli,
};
use sc_service::config::{BasePath, PrometheusConfig};
use sp_runtime::traits::AccountIdConversion;
@@ -29,9 +29,9 @@ fn load_spec(
})
}
impl SubstrateCli for Cli {
impl BizinikiwiCli for Cli {
fn impl_name() -> String {
"Parachain Collator Template".into()
"TeyrChain Collator Template".into()
}
fn impl_version() -> String {
@@ -40,9 +40,9 @@ impl SubstrateCli for Cli {
fn description() -> String {
format!(
"Parachain Collator Template\n\nThe command-line arguments provided first will be \
passed to the parachain node, while the arguments provided after -- will be passed \
to the relay chain node.\n\n{} <parachain-args> -- <relay-chain-args>",
"TeyrChain Collator Template\n\nThe command-line arguments provided first will be \
passed to the teyrchain node, while the arguments provided after -- will be passed \
to the relay chain node.\n\n{} <teyrchain-args> -- <relay-chain-args>",
Self::executable_name()
)
}
@@ -52,7 +52,7 @@ impl SubstrateCli for Cli {
}
fn support_url() -> String {
"https://github.com/paritytech/polkadot-sdk/issues/new".into()
"https://github.com/paritytech/pezkuwi-sdk/issues/new".into()
}
fn copyright_start_year() -> i32 {
@@ -67,9 +67,9 @@ impl SubstrateCli for Cli {
}
}
impl SubstrateCli for RelayChainCli {
impl BizinikiwiCli for RelayChainCli {
fn impl_name() -> String {
"Parachain Collator Template".into()
"TeyrChain Collator Template".into()
}
fn impl_version() -> String {
@@ -78,9 +78,9 @@ impl SubstrateCli for RelayChainCli {
fn description() -> String {
format!(
"Parachain Collator Template\n\nThe command-line arguments provided first will be \
passed to the parachain node, while the arguments provided after -- will be passed \
to the relay chain node.\n\n{} <parachain-args> -- <relay-chain-args>",
"TeyrChain Collator Template\n\nThe command-line arguments provided first will be \
passed to the teyrchain node, while the arguments provided after -- will be passed \
to the relay chain node.\n\n{} <teyrchain-args> -- <relay-chain-args>",
Self::executable_name()
)
}
@@ -90,7 +90,7 @@ impl SubstrateCli for RelayChainCli {
}
fn support_url() -> String {
"https://github.com/paritytech/polkadot-sdk/issues/new".into()
"https://github.com/paritytech/pezkuwi-sdk/issues/new".into()
}
fn copyright_start_year() -> i32 {
@@ -98,7 +98,7 @@ impl SubstrateCli for RelayChainCli {
}
fn load_spec(&self, id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
polkadot_cli::Cli::from_iter([RelayChainCli::executable_name()].iter()).load_spec(id)
pezkuwi_cli::Cli::from_iter([RelayChainCli::executable_name()].iter()).load_spec(id)
}
}
@@ -152,19 +152,19 @@ pub fn run() -> Result<()> {
let runner = cli.create_runner(cmd)?;
runner.sync_run(|config| {
let polkadot_cli = RelayChainCli::new(
let pezkuwi_cli = RelayChainCli::new(
&config,
[RelayChainCli::executable_name()].iter().chain(cli.relay_chain_args.iter()),
);
let polkadot_config = SubstrateCli::create_configuration(
&polkadot_cli,
&polkadot_cli,
let pezkuwi_config = BizinikiwiCli::create_configuration(
&pezkuwi_cli,
&pezkuwi_cli,
config.tokio_handle.clone(),
)
.map_err(|err| format!("Relay chain argument error: {}", err))?;
cmd.run(config, polkadot_config)
cmd.run(config, pezkuwi_config)
})
},
Some(Subcommand::ExportGenesisHead(cmd)) => {
@@ -235,31 +235,31 @@ pub fn run() -> Result<()> {
let para_id = chain_spec::Extensions::try_get(&*config.chain_spec)
.map(|e| e.para_id)
.ok_or("Could not find parachain ID in chain-spec.")?;
.ok_or("Could not find teyrchain ID in chain-spec.")?;
let polkadot_cli = RelayChainCli::new(
let pezkuwi_cli = RelayChainCli::new(
&config,
[RelayChainCli::executable_name()].iter().chain(cli.relay_chain_args.iter()),
);
let id = ParaId::from(para_id);
let parachain_account =
AccountIdConversion::<polkadot_primitives::AccountId>::into_account_truncating(
let teyrchain_account =
AccountIdConversion::<pezkuwi_primitives::AccountId>::into_account_truncating(
&id,
);
let tokio_handle = config.tokio_handle.clone();
let polkadot_config =
SubstrateCli::create_configuration(&polkadot_cli, &polkadot_cli, tokio_handle)
let pezkuwi_config =
BizinikiwiCli::create_configuration(&pezkuwi_cli, &pezkuwi_cli, tokio_handle)
.map_err(|err| format!("Relay chain argument error: {}", err))?;
info!("Parachain Account: {parachain_account}");
info!("TeyrChain Account: {teyrchain_account}");
info!("Is collating: {}", if config.role.is_authority() { "yes" } else { "no" });
crate::service::start_parachain_node(
crate::service::start_teyrchain_node(
config,
polkadot_config,
pezkuwi_config,
collator_options,
&cli.eth,
id,
@@ -324,7 +324,7 @@ impl CliConfiguration<Self> for RelayChainCli {
where
F: FnOnce(&mut sc_cli::LoggerBuilder),
{
unreachable!("PolkadotCli is never initialized; qed");
unreachable!("PezkuwiCli is never initialized; qed");
}
fn chain_id(&self, is_dev: bool) -> Result<String> {
+3 -3
View File
@@ -11,7 +11,7 @@ use fc_rpc::EthTask;
pub use fc_rpc_core::types::{FeeHistoryCache, FeeHistoryCacheLimit, FilterPool};
pub use fc_storage::{StorageOverride, StorageOverrideHandler};
use futures::{future, prelude::*};
// Substrate
// Bizinikiwi
use sc_client_api::BlockchainEvents;
use sc_executor::{HostFunctions, WasmExecutor};
use sc_network_sync::SyncingService;
@@ -55,7 +55,7 @@ pub struct EthConfiguration {
#[arg(long)]
pub enable_dev_signer: bool,
/// The dynamic-fee pallet target gas price set by block author
/// The dynamic-fee pezpallet target gas price set by block author
#[arg(long, default_value = "1")]
pub target_gas_price: u64,
@@ -181,7 +181,7 @@ pub async fn spawn_frontier_tasks<RuntimeApi, Executor>(
read_notification_timeout: Duration::from_secs(30),
check_indexed_blocks_interval: Duration::from_secs(60),
},
fc_mapping_sync::SyncStrategy::Parachain,
fc_mapping_sync::SyncStrategy::TeyrChain,
sync,
pubsub_notification_sinks,
),
+1 -1
View File
@@ -1,4 +1,4 @@
//! Substrate Parachain Node Template CLI
//! Bizinikiwi TeyrChain Node Template CLI
#![warn(missing_docs)]
+1 -1
View File
@@ -6,7 +6,7 @@ pub use fc_rpc_core::types::{FeeHistoryCache, FeeHistoryCacheLimit, FilterPool};
pub use fc_storage::StorageOverride;
use fp_rpc::{ConvertTransaction, ConvertTransactionRuntimeApi, EthereumRuntimeRPCApi};
use jsonrpsee::RpcModule;
// Substrate
// Bizinikiwi
use sc_client_api::{
backend::{Backend, StorageProvider},
client::BlockchainEvents,
+6 -6
View File
@@ -1,6 +1,6 @@
//! A collection of node-specific RPC methods.
//! Substrate provides the `sc-rpc` crate, which defines the core RPC layer
//! used by Substrate nodes. This file extends those RPC definitions with
//! Bizinikiwi provides the `sc-rpc` crate, which defines the core RPC layer
//! used by Bizinikiwi nodes. This file extends those RPC definitions with
//! capabilities that are specific to this project's runtime configuration.
#![warn(missing_docs)]
@@ -68,8 +68,8 @@ where
+ StorageProvider<Block, BE>
+ BlockchainEvents<Block>
+ 'static,
C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi<Block, Balance>,
C::Api: substrate_frame_rpc_system::AccountNonceApi<Block, AccountId, Nonce>,
C::Api: pezpallet_transaction_payment_rpc::TransactionPaymentRuntimeApi<Block, Balance>,
C::Api: bizinikiwi_pezframe_rpc_system::AccountNonceApi<Block, AccountId, Nonce>,
C::Api: sp_consensus_aura::AuraApi<Block, AuraId>,
C::Api: BlockBuilder<Block>,
C::Api: fp_rpc::ConvertTransactionRuntimeApi<Block>,
@@ -79,8 +79,8 @@ where
CT: fp_rpc::ConvertTransaction<<Block as BlockT>::Extrinsic> + Send + Sync + 'static,
BE: Backend<Block> + 'static,
{
use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer};
use substrate_frame_rpc_system::{System, SystemApiServer};
use pezpallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer};
use bizinikiwi_pezframe_rpc_system::{System, SystemApiServer};
let mut module = RpcExtension::new(());
let FullDeps { client, pool, eth } = deps;
+56 -56
View File
@@ -1,5 +1,5 @@
//! Service and ServiceFactory implementation. Specialized wrapper over
//! substrate service.
//! bizinikiwi service.
// std
use std::{path::Path, sync::Arc, time::Duration};
@@ -8,7 +8,7 @@ use cumulus_client_cli::CollatorOptions;
// Cumulus Imports
#[cfg(not(feature = "tanssi"))]
use cumulus_client_collator::service::CollatorService;
use cumulus_client_consensus_common::ParachainBlockImport as TParachainBlockImport;
use cumulus_client_consensus_common::TeyrChainBlockImport as TTeyrChainBlockImport;
#[cfg(not(feature = "tanssi"))]
use cumulus_client_consensus_proposer::Proposer;
use cumulus_client_service::{
@@ -27,8 +27,8 @@ use cumulus_relay_chain_interface::RelayChainInterface;
use evm_runtime_template::opaque::Hash;
// Local Runtime Types
use evm_runtime_template::{configs::TransactionConverter, opaque::Block, RuntimeApi};
// Substrate Imports
use frame_benchmarking_cli::SUBSTRATE_REFERENCE_HARDWARE;
// Bizinikiwi Imports
use pezframe_benchmarking_cli::SUBSTRATE_REFERENCE_HARDWARE;
use sc_client_api::Backend;
use sc_consensus::ImportQueue;
use sc_executor::{HeapAllocStrategy, WasmExecutor, DEFAULT_HEAP_ALLOC_STRATEGY};
@@ -43,7 +43,7 @@ use sp_core::U256;
#[cfg(not(feature = "tanssi"))]
use sp_keystore::KeystorePtr;
#[cfg(not(feature = "tanssi"))]
use substrate_prometheus_endpoint::Registry;
use bizinikiwi_prometheus_endpoint::Registry;
use crate::eth::{
db_config_dir, new_frontier_partial, spawn_frontier_tasks, BackendType, EthConfiguration,
@@ -52,35 +52,35 @@ use crate::eth::{
#[cfg(not(feature = "runtime-benchmarks"))]
pub type HostFunctions =
(sp_io::SubstrateHostFunctions, cumulus_client_service::storage_proof_size::HostFunctions);
(sp_io::BizinikiwiHostFunctions, cumulus_client_service::storage_proof_size::HostFunctions);
#[cfg(feature = "runtime-benchmarks")]
pub type HostFunctions = (
sp_io::SubstrateHostFunctions,
sp_io::BizinikiwiHostFunctions,
cumulus_client_service::storage_proof_size::HostFunctions,
frame_benchmarking::benchmarking::HostFunctions,
pezframe_benchmarking::benchmarking::HostFunctions,
);
type ParachainExecutor = WasmExecutor<HostFunctions>;
type TeyrChainExecutor = WasmExecutor<HostFunctions>;
type ParachainClient = TFullClient<Block, RuntimeApi, ParachainExecutor>;
type TeyrChainClient = TFullClient<Block, RuntimeApi, TeyrChainExecutor>;
type ParachainBackend = TFullBackend<Block>;
type TeyrChainBackend = TFullBackend<Block>;
type ParachainBlockImport = TParachainBlockImport<Block, Arc<ParachainClient>, ParachainBackend>;
type TeyrChainBlockImport = TTeyrChainBlockImport<Block, Arc<TeyrChainClient>, TeyrChainBackend>;
/// Assembly of PartialComponents (enough to run chain ops subcommands)
pub type Service = PartialComponents<
ParachainClient,
ParachainBackend,
TeyrChainClient,
TeyrChainBackend,
(),
sc_consensus::DefaultImportQueue<Block>,
sc_transaction_pool::TransactionPoolHandle<Block, ParachainClient>,
sc_transaction_pool::TransactionPoolHandle<Block, TeyrChainClient>,
(
ParachainBlockImport,
TeyrChainBlockImport,
Option<Telemetry>,
Option<TelemetryWorkerHandle>,
FrontierBackend<ParachainClient>,
FrontierBackend<TeyrChainClient>,
Arc<dyn fc_storage::StorageOverride<Block>>,
),
>;
@@ -109,7 +109,7 @@ pub fn new_partial(
.default_heap_pages
.map_or(DEFAULT_HEAP_ALLOC_STRATEGY, |h| HeapAllocStrategy::Static { extra_pages: h as _ });
let executor = ParachainExecutor::builder()
let executor = TeyrChainExecutor::builder()
.with_execution_method(config.executor.wasm_method)
.with_onchain_heap_alloc_strategy(heap_pages)
.with_offchain_heap_alloc_strategy(heap_pages)
@@ -149,7 +149,7 @@ pub fn new_partial(
import_queue(config, client.clone(), backend.clone(), &task_manager);
#[cfg(not(feature = "tanssi"))]
let block_import = ParachainBlockImport::new(client.clone(), backend.clone());
let block_import = TeyrChainBlockImport::new(client.clone(), backend.clone());
#[cfg(not(feature = "tanssi"))]
let import_queue = build_import_queue(
client.clone(),
@@ -210,15 +210,15 @@ pub fn new_partial(
#[cfg(feature = "tanssi")]
pub fn import_queue(
parachain_config: &Configuration,
client: Arc<ParachainClient>,
backend: Arc<ParachainBackend>,
teyrchain_config: &Configuration,
client: Arc<TeyrChainClient>,
backend: Arc<TeyrChainBackend>,
task_manager: &TaskManager,
) -> (ParachainBlockImport, sc_consensus::BasicQueue<Block>) {
) -> (TeyrChainBlockImport, sc_consensus::BasicQueue<Block>) {
// The nimbus import queue ONLY checks the signature correctness
// Any other checks corresponding to the author-correctness should be done
// in the runtime
let block_import = ParachainBlockImport::new(client.clone(), backend);
let block_import = TeyrChainBlockImport::new(client.clone(), backend);
let import_queue = nimbus_consensus::import_queue(
client,
@@ -229,7 +229,7 @@ pub fn import_queue(
Ok((time,))
},
&task_manager.spawn_essential_handle(),
parachain_config.prometheus_registry(),
teyrchain_config.prometheus_registry(),
false,
)
.expect("function never fails");
@@ -237,23 +237,23 @@ pub fn import_queue(
(block_import, import_queue)
}
/// Start a node with the given parachain `Configuration` and relay chain
/// Start a node with the given teyrchain `Configuration` and relay chain
/// `Configuration`.
///
/// This is the actual implementation that is abstract over the executor and the
/// runtime api.
#[sc_tracing::logging::prefix_logs_with("Parachain")]
#[sc_tracing::logging::prefix_logs_with("TeyrChain")]
async fn start_node_impl(
parachain_config: Configuration,
polkadot_config: Configuration,
teyrchain_config: Configuration,
pezkuwi_config: Configuration,
collator_options: CollatorOptions,
eth_config: &EthConfiguration,
para_id: ParaId,
hwbench: Option<sc_sysinfo::HwBench>,
) -> sc_service::error::Result<(TaskManager, Arc<ParachainClient>)> {
let parachain_config = prepare_node_config(parachain_config);
) -> sc_service::error::Result<(TaskManager, Arc<TeyrChainClient>)> {
let teyrchain_config = prepare_node_config(teyrchain_config);
let params = new_partial(&parachain_config, eth_config)?;
let params = new_partial(&teyrchain_config, eth_config)?;
let FrontierPartialComponents { filter_pool, fee_history_cache, fee_history_cache_limit } =
new_frontier_partial(eth_config)?;
@@ -266,8 +266,8 @@ async fn start_node_impl(
let frontier_backend = Arc::new(frontier_backend);
let net_config = FullNetworkConfiguration::<_, _, sc_network::NetworkWorker<Block, Hash>>::new(
&parachain_config.network,
parachain_config.prometheus_config.as_ref().map(|cfg| cfg.registry.clone()),
&teyrchain_config.network,
teyrchain_config.prometheus_config.as_ref().map(|cfg| cfg.registry.clone()),
);
let client = params.client.clone();
@@ -275,8 +275,8 @@ async fn start_node_impl(
let mut task_manager = params.task_manager;
let relay_chain_interface = build_relay_chain_interface(
polkadot_config,
&parachain_config,
pezkuwi_config,
&teyrchain_config,
telemetry_worker_handle,
&mut task_manager,
collator_options.clone(),
@@ -290,8 +290,8 @@ async fn start_node_impl(
#[cfg(feature = "tanssi")]
let (relay_chain_interface, _) = relay_chain_interface;
let validator = parachain_config.role.is_authority();
let prometheus_registry = parachain_config.prometheus_registry().cloned();
let validator = teyrchain_config.role.is_authority();
let prometheus_registry = teyrchain_config.prometheus_registry().cloned();
let transaction_pool = params.transaction_pool.clone();
let import_queue_service = params.import_queue.service();
#[cfg(not(feature = "tanssi"))]
@@ -299,7 +299,7 @@ async fn start_node_impl(
let (network, system_rpc_tx, tx_handler_controller, sync_service) =
build_network(BuildNetworkParams {
parachain_config: &parachain_config,
teyrchain_config: &teyrchain_config,
net_config,
client: client.clone(),
transaction_pool: transaction_pool.clone(),
@@ -311,7 +311,7 @@ async fn start_node_impl(
})
.await?;
if parachain_config.offchain_worker.enabled {
if teyrchain_config.offchain_worker.enabled {
use futures::FutureExt;
task_manager.spawn_handle().spawn(
@@ -325,7 +325,7 @@ async fn start_node_impl(
transaction_pool.clone(),
)),
network_provider: Arc::new(network.clone()),
is_validator: parachain_config.role.is_authority(),
is_validator: teyrchain_config.role.is_authority(),
enable_http_requests: false,
custom_extensions: move |_| vec![],
})?
@@ -414,7 +414,7 @@ async fn start_node_impl(
client: client.clone(),
transaction_pool: transaction_pool.clone(),
task_manager: &mut task_manager,
config: parachain_config,
config: teyrchain_config,
keystore: params.keystore_container.keystore(),
backend: backend.clone(),
network: network.clone(),
@@ -518,10 +518,10 @@ async fn start_node_impl(
}
#[cfg(not(feature = "tanssi"))]
/// Build the import queue for the parachain runtime.
/// Build the import queue for the teyrchain runtime.
fn build_import_queue(
client: Arc<ParachainClient>,
block_import: ParachainBlockImport,
client: Arc<TeyrChainClient>,
block_import: TeyrChainBlockImport,
config: &Configuration,
telemetry: Option<TelemetryHandle>,
task_manager: &TaskManager,
@@ -547,14 +547,14 @@ fn build_import_queue(
#[cfg(not(feature = "tanssi"))]
fn start_consensus(
client: Arc<ParachainClient>,
#[cfg(feature = "async-backing")] backend: Arc<ParachainBackend>,
block_import: ParachainBlockImport,
client: Arc<TeyrChainClient>,
#[cfg(feature = "async-backing")] backend: Arc<TeyrChainBackend>,
block_import: TeyrChainBlockImport,
prometheus_registry: Option<&Registry>,
telemetry: Option<TelemetryHandle>,
task_manager: &TaskManager,
relay_chain_interface: Arc<dyn RelayChainInterface>,
transaction_pool: Arc<sc_transaction_pool::TransactionPoolHandle<Block, ParachainClient>>,
transaction_pool: Arc<sc_transaction_pool::TransactionPoolHandle<Block, TeyrChainClient>>,
keystore: KeystorePtr,
relay_chain_slot_duration: Duration,
para_id: ParaId,
@@ -631,18 +631,18 @@ fn start_consensus(
Ok(())
}
/// Start a parachain node.
pub async fn start_parachain_node(
parachain_config: Configuration,
polkadot_config: Configuration,
/// Start a teyrchain node.
pub async fn start_teyrchain_node(
teyrchain_config: Configuration,
pezkuwi_config: Configuration,
collator_options: CollatorOptions,
eth_config: &EthConfiguration,
para_id: ParaId,
hwbench: Option<sc_sysinfo::HwBench>,
) -> sc_service::error::Result<(TaskManager, Arc<ParachainClient>)> {
) -> sc_service::error::Result<(TaskManager, Arc<TeyrChainClient>)> {
start_node_impl(
parachain_config,
polkadot_config,
teyrchain_config,
pezkuwi_config,
collator_options,
eth_config,
para_id,
+6 -6
View File
@@ -1,6 +1,6 @@
use std::{collections::BTreeMap, sync::Arc};
use cumulus_client_parachain_inherent::ParachainInherentData;
use cumulus_client_teyrchain_inherent::TeyrChainInherentData;
use cumulus_primitives_core::PersistedValidationData;
use cumulus_test_relay_sproof_builder::RelayStateSproofBuilder;
// Frontier
@@ -9,7 +9,7 @@ pub use fc_rpc_core::types::{FeeHistoryCache, FeeHistoryCacheLimit, FilterPool};
pub use fc_storage::StorageOverride;
use fp_rpc::{ConvertTransaction, ConvertTransactionRuntimeApi, EthereumRuntimeRPCApi};
use jsonrpsee::RpcModule;
// Substrate
// Bizinikiwi
use sc_client_api::{
backend::{Backend, StorageProvider},
client::BlockchainEvents,
@@ -134,7 +134,7 @@ where
};
let timestamp = sp_timestamp::InherentDataProvider::from_system_time();
// Create a dummy parachain inherent data provider which is required to pass
// Create a dummy teyrchain inherent data provider which is required to pass
// the checks by the para chain system. We use dummy values because in the 'pending context'
// neither do we have access to the real values nor do we need them.
let (relay_parent_storage_root, relay_chain_state) = RelayStateSproofBuilder {
@@ -143,19 +143,19 @@ where
}
.into_state_root_and_proof();
let vfp = PersistedValidationData {
// This is a hack to make `cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases`
// This is a hack to make `cumulus_pezpallet_teyrchain_system::RelayNumberStrictlyIncreases`
// happy. Relay parent number can't be bigger than u32::MAX.
relay_parent_number: u32::MAX,
relay_parent_storage_root,
..Default::default()
};
let parachain_inherent_data = ParachainInherentData {
let teyrchain_inherent_data = TeyrChainInherentData {
validation_data: vfp,
relay_chain_state,
downward_messages: Default::default(),
horizontal_messages: Default::default(),
};
Ok((timestamp, parachain_inherent_data, mocked_authorities_noting))
Ok((timestamp, teyrchain_inherent_data, mocked_authorities_noting))
}
};
+6 -6
View File
@@ -1,6 +1,6 @@
//! A collection of node-specific RPC methods.
//! Substrate provides the `sc-rpc` crate, which defines the core RPC layer
//! used by Substrate nodes. This file extends those RPC definitions with
//! Bizinikiwi provides the `sc-rpc` crate, which defines the core RPC layer
//! used by Bizinikiwi nodes. This file extends those RPC definitions with
//! capabilities that are specific to this project's runtime configuration.
#![warn(missing_docs)]
@@ -70,8 +70,8 @@ where
+ StorageProvider<Block, BE>
+ BlockchainEvents<Block>
+ 'static,
C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi<Block, Balance>,
C::Api: substrate_frame_rpc_system::AccountNonceApi<Block, AccountId, Nonce>,
C::Api: pezpallet_transaction_payment_rpc::TransactionPaymentRuntimeApi<Block, Balance>,
C::Api: bizinikiwi_pezframe_rpc_system::AccountNonceApi<Block, AccountId, Nonce>,
C::Api: BlockBuilder<Block>,
C::Api: fp_rpc::ConvertTransactionRuntimeApi<Block>,
C::Api: fp_rpc::EthereumRuntimeRPCApi<Block>,
@@ -80,8 +80,8 @@ where
CT: fp_rpc::ConvertTransaction<<Block as BlockT>::Extrinsic> + Send + Sync + 'static,
BE: Backend<Block> + 'static,
{
use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer};
use substrate_frame_rpc_system::{System, SystemApiServer};
use pezpallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer};
use bizinikiwi_pezframe_rpc_system::{System, SystemApiServer};
let mut module = RpcExtension::new(());
let FullDeps { client, pool, deny_unsafe, eth } = deps;
+201 -201
View File
@@ -1,7 +1,7 @@
[package]
name = "evm-runtime-template"
authors = { workspace = true }
description = "An EVM parachain runtime template"
description = "An EVM teyrchain runtime template"
edition = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
@@ -19,39 +19,39 @@ scale-info = { workspace = true, features = [ "derive" ] }
serde_json = { workspace = true, default-features = false, features = [ "alloc" ] }
smallvec = { workspace = true }
openzeppelin-pallet-abstractions = { workspace = true }
openzeppelin-pallet-abstractions-proc = { workspace = true }
openzeppelin-pezpallet-abstractions = { workspace = true }
openzeppelin-pezpallet-abstractions-proc = { workspace = true }
# Substrate
frame-benchmarking = { workspace = true, optional = true }
frame-executive = { workspace = true }
frame-metadata-hash-extension = { workspace = true }
frame-support = { workspace = true }
frame-system = { workspace = true }
frame-system-benchmarking = { workspace = true, optional = true }
frame-system-rpc-runtime-api = { workspace = true }
frame-try-runtime = { workspace = true, optional = true }
pallet-asset-tx-payment = { workspace = true }
pallet-assets = { workspace = true }
pallet-aura = { workspace = true }
pallet-authorship = { workspace = true }
pallet-balances = { workspace = true, features = [ "insecure_zero_ed" ] }
pallet-conviction-voting = { workspace = true }
pallet-membership = { workspace = true }
pallet-message-queue = { workspace = true }
pallet-multisig = { workspace = true }
pallet-preimage = { workspace = true }
pallet-proxy = { workspace = true }
pallet-referenda = { workspace = true }
pallet-scheduler = { workspace = true }
pallet-session = { workspace = true }
pallet-sudo = { workspace = true }
pallet-timestamp = { workspace = true }
pallet-transaction-payment = { workspace = true }
pallet-transaction-payment-rpc-runtime-api = { workspace = true }
pallet-treasury = { workspace = true }
pallet-utility = { workspace = true }
pallet-whitelist = { workspace = true }
# Bizinikiwi
pezframe-benchmarking = { workspace = true, optional = true }
pezframe-executive = { workspace = true }
pezframe-metadata-hash-extension = { workspace = true }
pezframe-support = { workspace = true }
pezframe-system = { workspace = true }
pezframe-system-benchmarking = { workspace = true, optional = true }
pezframe-system-rpc-runtime-api = { workspace = true }
pezframe-try-runtime = { workspace = true, optional = true }
pezpallet-asset-tx-payment = { workspace = true }
pezpallet-assets = { workspace = true }
pezpallet-aura = { workspace = true }
pezpallet-authorship = { workspace = true }
pezpallet-balances = { workspace = true, features = [ "insecure_zero_ed" ] }
pezpallet-conviction-voting = { workspace = true }
pezpallet-membership = { workspace = true }
pezpallet-message-queue = { workspace = true }
pezpallet-multisig = { workspace = true }
pezpallet-preimage = { workspace = true }
pezpallet-proxy = { workspace = true }
pezpallet-referenda = { workspace = true }
pezpallet-scheduler = { workspace = true }
pezpallet-session = { workspace = true }
pezpallet-sudo = { workspace = true }
pezpallet-timestamp = { workspace = true }
pezpallet-transaction-payment = { workspace = true }
pezpallet-transaction-payment-rpc-runtime-api = { workspace = true }
pezpallet-treasury = { workspace = true }
pezpallet-utility = { workspace = true }
pezpallet-whitelist = { workspace = true }
sp-api = { workspace = true }
sp-arithmetic = { workspace = true }
sp-block-builder = { workspace = true }
@@ -67,42 +67,42 @@ sp-std = { workspace = true }
sp-transaction-pool = { workspace = true }
sp-version = { workspace = true }
# Polkadot
pallet-xcm = { workspace = true }
polkadot-parachain-primitives = { workspace = true }
polkadot-runtime-common = { workspace = true }
xcm = { workspace = true }
xcm-builder = { workspace = true }
xcm-executor = { workspace = true }
# Pezkuwi
pezpallet-xcm = { workspace = true }
pezkuwi-teyrchain-primitives = { workspace = true }
pezkuwi-runtime-common = { workspace = true }
staging-xcm = { workspace = true }
staging-xcm-builder = { workspace = true }
staging-xcm-executor = { workspace = true }
# Cumulus
assets-common = { workspace = true }
cumulus-pallet-aura-ext = { workspace = true }
cumulus-pallet-parachain-system = { workspace = true }
cumulus-pallet-session-benchmarking = { workspace = true }
cumulus-pallet-weight-reclaim = { workspace = true }
cumulus-pallet-xcm = { workspace = true }
cumulus-pallet-xcmp-queue = { workspace = true }
cumulus-pezpallet-aura-ext = { workspace = true }
cumulus-pezpallet-teyrchain-system = { workspace = true }
cumulus-pezpallet-session-benchmarking = { workspace = true }
cumulus-pezpallet-weight-reclaim = { workspace = true }
cumulus-pezpallet-xcm = { workspace = true }
cumulus-pezpallet-xcmp-queue = { workspace = true }
cumulus-primitives-aura = { workspace = true }
cumulus-primitives-core = { workspace = true }
cumulus-primitives-timestamp = { workspace = true }
cumulus-primitives-utility = { workspace = true }
pallet-collator-selection = { workspace = true }
parachain-info = { workspace = true }
parachains-common = { workspace = true }
pezpallet-collator-selection = { workspace = true }
teyrchain-info = { workspace = true }
teyrchains-common = { workspace = true }
# Frontier
fp-account = { workspace = true }
fp-evm = { workspace = true }
fp-rpc = { workspace = true }
fp-self-contained = { workspace = true, features = [ "serde" ] }
pallet-base-fee = { workspace = true }
pallet-ethereum = { workspace = true }
pallet-evm = { workspace = true }
pallet-evm-chain-id = { workspace = true }
pallet-evm-precompile-modexp = { workspace = true }
pallet-evm-precompile-sha3fips = { workspace = true }
pallet-evm-precompile-simple = { workspace = true }
pezpallet-base-fee = { workspace = true }
pezpallet-ethereum = { workspace = true }
pezpallet-evm = { workspace = true }
pezpallet-evm-chain-id = { workspace = true }
pezpallet-evm-precompile-modexp = { workspace = true }
pezpallet-evm-precompile-sha3fips = { workspace = true }
pezpallet-evm-precompile-simple = { workspace = true }
# ORML
orml-oracle = { workspace = true }
@@ -112,38 +112,38 @@ orml-xcm-support = { workspace = true }
orml-xtokens = { workspace = true }
# Moonbeam
pallet-asset-manager = { workspace = true }
pallet-erc20-xcm-bridge = { workspace = true }
pallet-xcm-transactor = { workspace = true }
pallet-xcm-weight-trader = { workspace = true }
pezpallet-asset-manager = { workspace = true }
pezpallet-erc20-xcm-bridge = { workspace = true }
pezpallet-xcm-transactor = { workspace = true }
pezpallet-xcm-weight-trader = { workspace = true }
xcm-primitives = { workspace = true }
# Tanssi
dp-consensus = { workspace = true }
nimbus-primitives = { workspace = true }
pallet-author-inherent = { workspace = true }
pallet-cc-authorities-noting = { workspace = true }
pezpallet-author-inherent = { workspace = true }
pezpallet-cc-authorities-noting = { workspace = true }
[dev-dependencies]
ethereum = { workspace = true }
polkadot-runtime-parachains = { workspace = true }
pezkuwi-runtime-teyrchains = { workspace = true }
sp-io = { workspace = true }
sp-tracing = { workspace = true }
xcm-simulator = { workspace = true }
xcm-pez-simulator = { workspace = true }
[build-dependencies]
substrate-wasm-builder = { workspace = true }
bizinikiwi-wasm-builder = { workspace = true }
[features]
default = [ "std" ]
std = [
"assets-common/std",
"cumulus-pallet-aura-ext/std",
"cumulus-pallet-parachain-system/std",
"cumulus-pallet-session-benchmarking/std",
"cumulus-pallet-weight-reclaim/std",
"cumulus-pallet-xcm/std",
"cumulus-pallet-xcmp-queue/std",
"cumulus-pezpallet-aura-ext/std",
"cumulus-pezpallet-teyrchain-system/std",
"cumulus-pezpallet-session-benchmarking/std",
"cumulus-pezpallet-weight-reclaim/std",
"cumulus-pezpallet-xcm/std",
"cumulus-pezpallet-xcmp-queue/std",
"cumulus-primitives-aura/std",
"cumulus-primitives-core/std",
"cumulus-primitives-utility/std",
@@ -153,58 +153,58 @@ std = [
"fp-evm/std",
"fp-rpc/std",
"fp-self-contained/std",
"frame-benchmarking?/std",
"frame-executive/std",
"frame-metadata-hash-extension/std",
"frame-support/std",
"frame-system-benchmarking?/std",
"frame-system-rpc-runtime-api/std",
"frame-system/std",
"frame-try-runtime?/std",
"pezframe-benchmarking?/std",
"pezframe-executive/std",
"pezframe-metadata-hash-extension/std",
"pezframe-support/std",
"pezframe-system-benchmarking?/std",
"pezframe-system-rpc-runtime-api/std",
"pezframe-system/std",
"pezframe-try-runtime?/std",
"log/std",
"nimbus-primitives/std",
"openzeppelin-pallet-abstractions/std",
"openzeppelin-pezpallet-abstractions/std",
"orml-oracle-runtime-api/std",
"orml-oracle/std",
"orml-xtokens/std",
"pallet-asset-manager/std",
"pallet-asset-tx-payment/std",
"pallet-assets/std",
"pallet-aura/std",
"pallet-author-inherent/std",
"pallet-authorship/std",
"pallet-balances/std",
"pallet-base-fee/std",
"pallet-cc-authorities-noting/std",
"pallet-collator-selection/std",
"pallet-conviction-voting/std",
"pallet-erc20-xcm-bridge/std",
"pallet-ethereum/std",
"pallet-evm-chain-id/std",
"pallet-evm/std",
"pallet-membership/std",
"pallet-message-queue/std",
"pallet-multisig/std",
"pallet-preimage/std",
"pallet-proxy/std",
"pallet-referenda/std",
"pallet-scheduler/std",
"pallet-session/std",
"pallet-sudo/std",
"pallet-timestamp/std",
"pallet-transaction-payment-rpc-runtime-api/std",
"pallet-transaction-payment/std",
"pallet-treasury/std",
"pallet-utility/std",
"pallet-whitelist/std",
"pallet-xcm-transactor/std",
"pallet-xcm-weight-trader/std",
"pallet-xcm/std",
"parachain-info/std",
"parachains-common/std",
"pezpallet-asset-manager/std",
"pezpallet-asset-tx-payment/std",
"pezpallet-assets/std",
"pezpallet-aura/std",
"pezpallet-author-inherent/std",
"pezpallet-authorship/std",
"pezpallet-balances/std",
"pezpallet-base-fee/std",
"pezpallet-cc-authorities-noting/std",
"pezpallet-collator-selection/std",
"pezpallet-conviction-voting/std",
"pezpallet-erc20-xcm-bridge/std",
"pezpallet-ethereum/std",
"pezpallet-evm-chain-id/std",
"pezpallet-evm/std",
"pezpallet-membership/std",
"pezpallet-message-queue/std",
"pezpallet-multisig/std",
"pezpallet-preimage/std",
"pezpallet-proxy/std",
"pezpallet-referenda/std",
"pezpallet-scheduler/std",
"pezpallet-session/std",
"pezpallet-sudo/std",
"pezpallet-timestamp/std",
"pezpallet-transaction-payment-rpc-runtime-api/std",
"pezpallet-transaction-payment/std",
"pezpallet-treasury/std",
"pezpallet-utility/std",
"pezpallet-whitelist/std",
"pezpallet-xcm-transactor/std",
"pezpallet-xcm-weight-trader/std",
"pezpallet-xcm/std",
"teyrchain-info/std",
"teyrchains-common/std",
"parity-scale-codec/std",
"polkadot-parachain-primitives/std",
"polkadot-runtime-common/std",
"pezkuwi-teyrchain-primitives/std",
"pezkuwi-runtime-common/std",
"scale-info/std",
"serde_json/std",
"sp-api/std",
@@ -221,106 +221,106 @@ std = [
"sp-std/std",
"sp-transaction-pool/std",
"sp-version/std",
"xcm-builder/std",
"xcm-executor/std",
"staging-xcm-builder/std",
"staging-xcm-executor/std",
"xcm-primitives/std",
"xcm/std",
"staging-xcm/std",
]
async-backing = [ "openzeppelin-pallet-abstractions-proc/async-backing" ]
metadata-hash = [ "substrate-wasm-builder/metadata-hash" ]
async-backing = [ "openzeppelin-pezpallet-abstractions-proc/async-backing" ]
metadata-hash = [ "bizinikiwi-wasm-builder/metadata-hash" ]
runtime-benchmarks = [
"assets-common/runtime-benchmarks",
"cumulus-pallet-parachain-system/runtime-benchmarks",
"cumulus-pallet-session-benchmarking/runtime-benchmarks",
"cumulus-pallet-xcmp-queue/runtime-benchmarks",
"cumulus-pezpallet-teyrchain-system/runtime-benchmarks",
"cumulus-pezpallet-session-benchmarking/runtime-benchmarks",
"cumulus-pezpallet-xcmp-queue/runtime-benchmarks",
"cumulus-primitives-utility/runtime-benchmarks",
"dp-consensus/runtime-benchmarks",
"frame-benchmarking/runtime-benchmarks",
"frame-support/runtime-benchmarks",
"frame-system-benchmarking/runtime-benchmarks",
"frame-system/runtime-benchmarks",
"pezframe-benchmarking/runtime-benchmarks",
"pezframe-support/runtime-benchmarks",
"pezframe-system-benchmarking/runtime-benchmarks",
"pezframe-system/runtime-benchmarks",
"nimbus-primitives/runtime-benchmarks",
"orml-oracle/runtime-benchmarks",
"pallet-asset-manager/runtime-benchmarks",
"pallet-asset-tx-payment/runtime-benchmarks",
"pallet-assets/runtime-benchmarks",
"pallet-author-inherent/runtime-benchmarks",
"pallet-balances/runtime-benchmarks",
"pallet-cc-authorities-noting/runtime-benchmarks",
"pallet-collator-selection/runtime-benchmarks",
"pallet-conviction-voting/runtime-benchmarks",
"pallet-ethereum/runtime-benchmarks",
"pallet-evm/runtime-benchmarks",
"pallet-membership/runtime-benchmarks",
"pallet-message-queue/runtime-benchmarks",
"pallet-multisig/runtime-benchmarks",
"pallet-preimage/runtime-benchmarks",
"pallet-proxy/runtime-benchmarks",
"pallet-referenda/runtime-benchmarks",
"pallet-scheduler/runtime-benchmarks",
"pallet-sudo/runtime-benchmarks",
"pallet-timestamp/runtime-benchmarks",
"pallet-treasury/runtime-benchmarks",
"pallet-utility/runtime-benchmarks",
"pallet-whitelist/runtime-benchmarks",
"pallet-xcm-transactor/runtime-benchmarks",
"pallet-xcm-weight-trader/runtime-benchmarks",
"pallet-xcm/runtime-benchmarks",
"parachains-common/runtime-benchmarks",
"polkadot-parachain-primitives/runtime-benchmarks",
"polkadot-runtime-common/runtime-benchmarks",
"pezpallet-asset-manager/runtime-benchmarks",
"pezpallet-asset-tx-payment/runtime-benchmarks",
"pezpallet-assets/runtime-benchmarks",
"pezpallet-author-inherent/runtime-benchmarks",
"pezpallet-balances/runtime-benchmarks",
"pezpallet-cc-authorities-noting/runtime-benchmarks",
"pezpallet-collator-selection/runtime-benchmarks",
"pezpallet-conviction-voting/runtime-benchmarks",
"pezpallet-ethereum/runtime-benchmarks",
"pezpallet-evm/runtime-benchmarks",
"pezpallet-membership/runtime-benchmarks",
"pezpallet-message-queue/runtime-benchmarks",
"pezpallet-multisig/runtime-benchmarks",
"pezpallet-preimage/runtime-benchmarks",
"pezpallet-proxy/runtime-benchmarks",
"pezpallet-referenda/runtime-benchmarks",
"pezpallet-scheduler/runtime-benchmarks",
"pezpallet-sudo/runtime-benchmarks",
"pezpallet-timestamp/runtime-benchmarks",
"pezpallet-treasury/runtime-benchmarks",
"pezpallet-utility/runtime-benchmarks",
"pezpallet-whitelist/runtime-benchmarks",
"pezpallet-xcm-transactor/runtime-benchmarks",
"pezpallet-xcm-weight-trader/runtime-benchmarks",
"pezpallet-xcm/runtime-benchmarks",
"teyrchains-common/runtime-benchmarks",
"pezkuwi-teyrchain-primitives/runtime-benchmarks",
"pezkuwi-runtime-common/runtime-benchmarks",
"sp-runtime/runtime-benchmarks",
"xcm-builder/runtime-benchmarks",
"xcm-executor/runtime-benchmarks",
"staging-xcm-builder/runtime-benchmarks",
"staging-xcm-executor/runtime-benchmarks",
]
try-runtime = [
"cumulus-pallet-aura-ext/try-runtime",
"cumulus-pallet-parachain-system/try-runtime",
"cumulus-pallet-xcm/try-runtime",
"cumulus-pallet-xcmp-queue/try-runtime",
"cumulus-pezpallet-aura-ext/try-runtime",
"cumulus-pezpallet-teyrchain-system/try-runtime",
"cumulus-pezpallet-xcm/try-runtime",
"cumulus-pezpallet-xcmp-queue/try-runtime",
"fp-self-contained/try-runtime",
"frame-executive/try-runtime",
"frame-support/try-runtime",
"frame-system/try-runtime",
"frame-try-runtime/try-runtime",
"pezframe-executive/try-runtime",
"pezframe-support/try-runtime",
"pezframe-system/try-runtime",
"pezframe-try-runtime/try-runtime",
"nimbus-primitives/try-runtime",
"orml-oracle/try-runtime",
"orml-xtokens/try-runtime",
"pallet-asset-manager/try-runtime",
"pallet-asset-tx-payment/try-runtime",
"pallet-assets/try-runtime",
"pallet-aura/try-runtime",
"pallet-author-inherent/try-runtime",
"pallet-authorship/try-runtime",
"pallet-balances/try-runtime",
"pallet-base-fee/try-runtime",
"pallet-cc-authorities-noting/try-runtime",
"pallet-collator-selection/try-runtime",
"pallet-conviction-voting/try-runtime",
"pallet-erc20-xcm-bridge/try-runtime",
"pallet-ethereum/try-runtime",
"pallet-evm-chain-id/try-runtime",
"pallet-membership/try-runtime",
"pallet-message-queue/try-runtime",
"pallet-multisig/try-runtime",
"pallet-preimage/try-runtime",
"pallet-proxy/try-runtime",
"pallet-referenda/try-runtime",
"pallet-scheduler/try-runtime",
"pallet-session/try-runtime",
"pallet-session/try-runtime",
"pallet-sudo/try-runtime",
"pallet-timestamp/try-runtime",
"pallet-transaction-payment/try-runtime",
"pallet-treasury/try-runtime",
"pallet-utility/try-runtime",
"pallet-whitelist/try-runtime",
"pallet-xcm-transactor/try-runtime",
"pallet-xcm-weight-trader/try-runtime",
"pallet-xcm/try-runtime",
"parachain-info/try-runtime",
"polkadot-runtime-common/try-runtime",
"pezpallet-asset-manager/try-runtime",
"pezpallet-asset-tx-payment/try-runtime",
"pezpallet-assets/try-runtime",
"pezpallet-aura/try-runtime",
"pezpallet-author-inherent/try-runtime",
"pezpallet-authorship/try-runtime",
"pezpallet-balances/try-runtime",
"pezpallet-base-fee/try-runtime",
"pezpallet-cc-authorities-noting/try-runtime",
"pezpallet-collator-selection/try-runtime",
"pezpallet-conviction-voting/try-runtime",
"pezpallet-erc20-xcm-bridge/try-runtime",
"pezpallet-ethereum/try-runtime",
"pezpallet-evm-chain-id/try-runtime",
"pezpallet-membership/try-runtime",
"pezpallet-message-queue/try-runtime",
"pezpallet-multisig/try-runtime",
"pezpallet-preimage/try-runtime",
"pezpallet-proxy/try-runtime",
"pezpallet-referenda/try-runtime",
"pezpallet-scheduler/try-runtime",
"pezpallet-session/try-runtime",
"pezpallet-session/try-runtime",
"pezpallet-sudo/try-runtime",
"pezpallet-timestamp/try-runtime",
"pezpallet-transaction-payment/try-runtime",
"pezpallet-treasury/try-runtime",
"pezpallet-utility/try-runtime",
"pezpallet-whitelist/try-runtime",
"pezpallet-xcm-transactor/try-runtime",
"pezpallet-xcm-weight-trader/try-runtime",
"pezpallet-xcm/try-runtime",
"teyrchain-info/try-runtime",
"pezkuwi-runtime-common/try-runtime",
"sp-runtime/try-runtime",
]
+2 -2
View File
@@ -1,11 +1,11 @@
#[cfg(all(not(feature = "metadata-hash"), feature = "std"))]
fn main() {
substrate_wasm_builder::WasmBuilder::build_using_defaults();
bizinikiwi_wasm_builder::WasmBuilder::build_using_defaults();
}
#[cfg(all(feature = "metadata-hash", feature = "std"))]
fn main() {
substrate_wasm_builder::WasmBuilder::init_with_defaults()
bizinikiwi_wasm_builder::WasmBuilder::init_with_defaults()
.enable_metadata_hash("UNIT", 12)
.build();
}
+30 -30
View File
@@ -1,38 +1,38 @@
frame_benchmarking::define_benchmarks!(
[frame_system, SystemBench::<Runtime>]
[pallet_assets, Assets]
[pallet_balances, Balances]
[pallet_session, SessionBench::<Runtime>]
[pallet_timestamp, Timestamp]
[pallet_message_queue, MessageQueue]
[pallet_sudo, Sudo]
[pallet_collator_selection, CollatorSelection]
[cumulus_pallet_xcmp_queue, XcmpQueue]
[pallet_scheduler, Scheduler]
[pallet_preimage, Preimage]
[pallet_proxy, Proxy]
[cumulus_pallet_parachain_system, ParachainSystem]
[pallet_multisig, Multisig]
[pallet_utility, Utility]
[pallet_treasury, Treasury]
[pallet_evm, EVM]
[pallet_xcm, PalletXcmExtrinsicsBenchmark::<Runtime>]
[pallet_asset_manager, AssetManager]
[pallet_conviction_voting, ConvictionVoting]
[pallet_whitelist, Whitelist]
[pallet_referenda, Referenda]
[pallet_xcm_transactor, XcmTransactor]
[pallet_xcm_weight_trader, XcmWeightTrader]
pezframe_benchmarking::define_benchmarks!(
[pezframe_system, SystemBench::<Runtime>]
[pezpallet_assets, Assets]
[pezpallet_balances, Balances]
[pezpallet_session, SessionBench::<Runtime>]
[pezpallet_timestamp, Timestamp]
[pezpallet_message_queue, MessageQueue]
[pezpallet_sudo, Sudo]
[pezpallet_collator_selection, CollatorSelection]
[cumulus_pezpallet_xcmp_queue, XcmpQueue]
[pezpallet_scheduler, Scheduler]
[pezpallet_preimage, Preimage]
[pezpallet_proxy, Proxy]
[cumulus_pezpallet_teyrchain_system, TeyrChainSystem]
[pezpallet_multisig, Multisig]
[pezpallet_utility, Utility]
[pezpallet_treasury, Treasury]
[pezpallet_evm, EVM]
[pezpallet_xcm, PezpalletXcmExtrinsicsBenchmark::<Runtime>]
[pezpallet_asset_manager, AssetManager]
[pezpallet_conviction_voting, ConvictionVoting]
[pezpallet_whitelist, Whitelist]
[pezpallet_referenda, Referenda]
[pezpallet_xcm_transactor, XcmTransactor]
[pezpallet_xcm_weight_trader, XcmWeightTrader]
);
use cumulus_primitives_core::{ChannelStatus, GetChannelInfo};
use frame_support::traits::{
use pezframe_support::traits::{
tokens::{Pay, PaymentStatus},
Get,
};
use sp_std::marker::PhantomData;
use crate::ParachainSystem;
use crate::TeyrChainSystem;
/// Trait for setting up any prerequisites for successful execution of benchmarks.
pub trait EnsureSuccessful {
@@ -40,12 +40,12 @@ pub trait EnsureSuccessful {
}
/// Implementation of the [`EnsureSuccessful`] trait which opens an HRMP channel between
/// the Collectives and a parachain with a given ID.
/// the Collectives and a teyrchain with a given ID.
pub struct OpenHrmpChannel<I>(PhantomData<I>);
impl<I: Get<u32>> EnsureSuccessful for OpenHrmpChannel<I> {
fn ensure_successful() {
if let ChannelStatus::Closed = ParachainSystem::get_channel_status(I::get().into()) {
ParachainSystem::open_outbound_hrmp_channel_for_benchmarks_or_tests(I::get().into())
if let ChannelStatus::Closed = TeyrChainSystem::get_channel_status(I::get().into()) {
TeyrChainSystem::open_outbound_hrmp_channel_for_benchmarks_or_tests(I::get().into())
}
}
}
@@ -1,4 +1,4 @@
use frame_support::{dispatch::GetDispatchInfo, weights::Weight};
use pezframe_support::{dispatch::GetDispatchInfo, weights::Weight};
use parity_scale_codec::{Decode, DecodeWithMemTracking, Encode};
use scale_info::TypeInfo;
use sp_core::{H160, H256};
@@ -17,9 +17,9 @@ use crate::{
};
// Required for runtime benchmarks
pallet_assets::runtime_benchmarks_enabled! {
pezpallet_assets::runtime_benchmarks_enabled! {
pub struct BenchmarkHelper;
impl<AssetIdParameter> pallet_assets::BenchmarkHelper<AssetIdParameter> for BenchmarkHelper
impl<AssetIdParameter> pezpallet_assets::BenchmarkHelper<AssetIdParameter> for BenchmarkHelper
where
AssetIdParameter: From<u128>,
{
@@ -86,7 +86,7 @@ impl From<AssetType> for AssetId {
match asset {
AssetType::Xcm(id) => {
let mut result: [u8; 16] = [0u8; 16];
let hash: H256 = id.using_encoded(<Runtime as frame_system::Config>::Hashing::hash);
let hash: H256 = id.using_encoded(<Runtime as pezframe_system::Config>::Hashing::hash);
result.copy_from_slice(&hash.as_fixed_bytes()[0..16]);
u128::from_le_bytes(result)
}
@@ -115,11 +115,11 @@ pub struct AssetRegistrarMetadata {
}
// We instruct how to register the Assets
// In this case, we tell it to Create an Asset in pallet-assets
// In this case, we tell it to Create an Asset in pezpallet-assets
pub struct AssetRegistrar;
use frame_support::{pallet_prelude::DispatchResult, transactional};
use pezframe_support::{pezpallet_prelude::DispatchResult, transactional};
impl pallet_asset_manager::AssetRegistrar<Runtime> for AssetRegistrar {
impl pezpallet_asset_manager::AssetRegistrar<Runtime> for AssetRegistrar {
#[transactional]
fn create_foreign_asset(
asset: AssetId,
@@ -156,10 +156,10 @@ impl pallet_asset_manager::AssetRegistrar<Runtime> for AssetRegistrar {
// For us both of them (Foreign and Local) have the same annotated weight for a given
// witness
// We need to take the dispatch info from the destroy call, which is already annotated in
// the assets pallet
// the assets pezpallet
// This is the dispatch info of destroy
RuntimeCall::Assets(pallet_assets::Call::<Runtime>::start_destroy { id: asset.into() })
RuntimeCall::Assets(pezpallet_assets::Call::<Runtime>::start_destroy { id: asset.into() })
.get_dispatch_info()
.call_weight
}
@@ -206,7 +206,7 @@ impl AccountIdAssetIdConversion<AccountId, AssetId> for Runtime {
#[cfg(test)]
mod tests {
mod asset_registrar {
use pallet_asset_manager::AssetRegistrar;
use pezpallet_asset_manager::AssetRegistrar;
use sp_io::TestExternalities;
use crate::{
@@ -375,13 +375,13 @@ mod tests {
// Test with X1 junction
let v3_location = MultiLocation {
parents: 0,
interior: JunctionsV3::X1(JunctionV3::Parachain(1000)),
interior: JunctionsV3::X1(JunctionV3::TeyrChain(1000)),
};
let v4_location = convert_v3_to_v4(v3_location).unwrap();
assert_eq!(v4_location.parents, 0);
// Create X1 junction with Arc
let junction_array = Arc::new([xcm::v4::Junction::Parachain(1000)]);
let junction_array = Arc::new([xcm::v4::Junction::TeyrChain(1000)]);
let expected_interior = xcm::v4::Junctions::X1(junction_array);
assert_eq!(v4_location.interior, expected_interior);
}
@@ -401,7 +401,7 @@ mod tests {
// Test with more complex location
let v3_location = MultiLocation {
parents: 0,
interior: JunctionsV3::X1(JunctionV3::Parachain(1000)),
interior: JunctionsV3::X1(JunctionV3::TeyrChain(1000)),
};
let asset_type = AssetType::from(v3_location);
match asset_type {
@@ -409,7 +409,7 @@ mod tests {
assert_eq!(location.parents, 0);
// Create X1 junction with Arc
let junction_array = Arc::new([xcm::v4::Junction::Parachain(1000)]);
let junction_array = Arc::new([xcm::v4::Junction::TeyrChain(1000)]);
let expected_interior = xcm::v4::Junctions::X1(junction_array);
assert_eq!(location.interior, expected_interior);
}
@@ -1,18 +1,18 @@
//! Custom origins for governance interventions.
pub use pallet_custom_origins::*;
pub use pezpallet_custom_origins::*;
#[frame_support::pallet]
pub mod pallet_custom_origins {
use frame_support::pallet_prelude::*;
#[pezframe_support::pezpallet]
pub mod pezpallet_custom_origins {
use pezframe_support::pezpallet_prelude::*;
use crate::configs::governance::{Balance, CENTS, GRAND};
#[pallet::config]
pub trait Config: frame_system::Config {}
#[pezpallet::config]
pub trait Config: pezframe_system::Config {}
#[pallet::pallet]
pub struct Pallet<T>(_);
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(_);
#[derive(
PartialEq,
@@ -25,7 +25,7 @@ pub mod pallet_custom_origins {
TypeInfo,
RuntimeDebug,
)]
#[pallet::origin]
#[pezpallet::origin]
pub enum Origin {
/// Origin for spending (any amount of) funds.
Treasurer,
@@ -126,10 +126,10 @@ pub mod pallet_custom_origins {
#[cfg(test)]
mod tests {
use frame_support::traits::EnsureOrigin;
use pezframe_support::traits::EnsureOrigin;
use crate::{
configs::{governance::Spender, pallet_custom_origins::Origin},
configs::{governance::Spender, pezpallet_custom_origins::Origin},
constants::currency::{CENTS, GRAND},
Balance,
};
@@ -254,7 +254,7 @@ mod tests {
mod treasurer {
use super::*;
use crate::configs::pallet_custom_origins::Treasurer;
use crate::configs::pezpallet_custom_origins::Treasurer;
#[test]
pub fn test_treasurer_try_origin() {
@@ -273,7 +273,7 @@ mod tests {
mod referendum_canceller {
use super::*;
use crate::configs::pallet_custom_origins::ReferendumCanceller;
use crate::configs::pezpallet_custom_origins::ReferendumCanceller;
#[test]
pub fn test_referendum_canceller_try_origin() {
@@ -2,7 +2,7 @@
use alloc::borrow::Cow;
use pallet_referenda::Track;
use pezpallet_referenda::Track;
use sp_runtime::str_array as s;
use super::*;
@@ -11,7 +11,7 @@ use crate::constants::MINUTES;
const fn percent(x: i32) -> sp_arithmetic::FixedI64 {
sp_arithmetic::FixedI64::from_rational(x as u128, 100)
}
use pallet_referenda::Curve;
use pezpallet_referenda::Curve;
const APP_ROOT: Curve = Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
const SUP_ROOT: Curve = Curve::make_linear(28, 28, percent(0), percent(50));
const APP_TREASURER: Curve = Curve::make_reciprocal(4, 28, percent(80), percent(50), percent(100));
@@ -40,15 +40,15 @@ const SUP_WHITELISTED_CALLER: Curve =
Curve::make_reciprocal(1, 28, percent(20), percent(5), percent(50));
pub struct TracksInfo;
impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
impl pezpallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
type Id = u16;
type RuntimeOrigin = <RuntimeOrigin as frame_support::traits::OriginTrait>::PalletsOrigin;
type RuntimeOrigin = <RuntimeOrigin as pezframe_support::traits::OriginTrait>::PalletsOrigin;
fn tracks() -> impl Iterator<Item = Cow<'static, Track<Self::Id, Balance, BlockNumber>>> {
static DATA: [Track<u16, Balance, BlockNumber>; 10] = [
Track {
id: 0u16,
info: pallet_referenda::TrackInfo {
info: pezpallet_referenda::TrackInfo {
name: s("root"),
max_deciding: 1,
decision_deposit: 100 * GRAND,
@@ -62,7 +62,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
},
Track {
id: 1u16,
info: pallet_referenda::TrackInfo {
info: pezpallet_referenda::TrackInfo {
name: s("whitelisted_caller"),
max_deciding: 100,
decision_deposit: 10 * GRAND,
@@ -76,7 +76,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
},
Track {
id: 11u16,
info: pallet_referenda::TrackInfo {
info: pezpallet_referenda::TrackInfo {
name: s("treasurer"),
max_deciding: 10,
decision_deposit: GRAND,
@@ -90,7 +90,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
},
Track {
id: 20u16,
info: pallet_referenda::TrackInfo {
info: pezpallet_referenda::TrackInfo {
name: s("referendum_canceller"),
max_deciding: 1_000,
decision_deposit: 10 * GRAND,
@@ -104,7 +104,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
},
Track {
id: 21u16,
info: pallet_referenda::TrackInfo {
info: pezpallet_referenda::TrackInfo {
name: s("referendum_killer"),
max_deciding: 1_000,
decision_deposit: 50 * GRAND,
@@ -118,7 +118,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
},
Track {
id: 30u16,
info: pallet_referenda::TrackInfo {
info: pezpallet_referenda::TrackInfo {
name: s("small_tipper"),
max_deciding: 200,
decision_deposit: 3 * CENTS,
@@ -132,7 +132,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
},
Track {
id: 31u16,
info: pallet_referenda::TrackInfo {
info: pezpallet_referenda::TrackInfo {
name: s("big_tipper"),
max_deciding: 100,
decision_deposit: 10 * 3 * CENTS,
@@ -146,7 +146,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
},
Track {
id: 32u16,
info: pallet_referenda::TrackInfo {
info: pezpallet_referenda::TrackInfo {
name: s("small_spender"),
max_deciding: 50,
decision_deposit: 100 * 3 * CENTS,
@@ -160,7 +160,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
},
Track {
id: 33u16,
info: pallet_referenda::TrackInfo {
info: pezpallet_referenda::TrackInfo {
name: s("medium_spender"),
max_deciding: 50,
decision_deposit: 200 * 3 * CENTS,
@@ -174,7 +174,7 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
},
Track {
id: 34u16,
info: pallet_referenda::TrackInfo {
info: pezpallet_referenda::TrackInfo {
name: s("big_spender"),
max_deciding: 50,
decision_deposit: 400 * 3 * CENTS,
@@ -191,9 +191,9 @@ impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
}
fn track_for(id: &Self::RuntimeOrigin) -> Result<Self::Id, ()> {
if let Ok(system_origin) = frame_system::RawOrigin::try_from(id.clone()) {
if let Ok(system_origin) = pezframe_system::RawOrigin::try_from(id.clone()) {
match system_origin {
frame_system::RawOrigin::Root => Ok(0),
pezframe_system::RawOrigin::Root => Ok(0),
_ => Err(()),
}
} else if let Ok(custom_origin) = origins::Origin::try_from(id.clone()) {
@@ -224,27 +224,27 @@ mod tests {
#[test]
fn test_track_system_origin() {
let track =
<crate::configs::governance::tracks::TracksInfo as pallet_referenda::TracksInfo<
<crate::configs::governance::tracks::TracksInfo as pezpallet_referenda::TracksInfo<
Balance,
BlockNumber,
>>::track_for(&OriginCaller::system(frame_system::RawOrigin::Root))
>>::track_for(&OriginCaller::system(pezframe_system::RawOrigin::Root))
.expect("incorrect config");
assert_eq!(track, 0);
}
#[test]
fn test_track_system_origin_error() {
let () = <crate::configs::governance::tracks::TracksInfo as pallet_referenda::TracksInfo<
let () = <crate::configs::governance::tracks::TracksInfo as pezpallet_referenda::TracksInfo<
Balance,
BlockNumber,
>>::track_for(&OriginCaller::system(frame_system::RawOrigin::None))
>>::track_for(&OriginCaller::system(pezframe_system::RawOrigin::None))
.expect_err("incorrect config");
}
#[test]
fn test_track_custom_origin_whitelisted_caller() {
let track =
<crate::configs::governance::tracks::TracksInfo as pallet_referenda::TracksInfo<
<crate::configs::governance::tracks::TracksInfo as pezpallet_referenda::TracksInfo<
Balance,
BlockNumber,
>>::track_for(&OriginCaller::Origins(origins::Origin::WhitelistedCaller))
@@ -255,7 +255,7 @@ mod tests {
#[test]
fn test_track_custom_origin_treasurer() {
let track =
<crate::configs::governance::tracks::TracksInfo as pallet_referenda::TracksInfo<
<crate::configs::governance::tracks::TracksInfo as pezpallet_referenda::TracksInfo<
Balance,
BlockNumber,
>>::track_for(&OriginCaller::Origins(origins::Origin::Treasurer))
@@ -266,7 +266,7 @@ mod tests {
#[test]
fn test_track_custom_origin_referendum_canceller() {
let track =
<crate::configs::governance::tracks::TracksInfo as pallet_referenda::TracksInfo<
<crate::configs::governance::tracks::TracksInfo as pezpallet_referenda::TracksInfo<
Balance,
BlockNumber,
>>::track_for(&OriginCaller::Origins(origins::Origin::ReferendumCanceller))
@@ -277,7 +277,7 @@ mod tests {
#[test]
fn test_track_custom_origin_referendum_killer() {
let track =
<crate::configs::governance::tracks::TracksInfo as pallet_referenda::TracksInfo<
<crate::configs::governance::tracks::TracksInfo as pezpallet_referenda::TracksInfo<
Balance,
BlockNumber,
>>::track_for(&OriginCaller::Origins(origins::Origin::ReferendumKiller))
@@ -288,7 +288,7 @@ mod tests {
#[test]
fn test_track_custom_origin_small_tipper() {
let track =
<crate::configs::governance::tracks::TracksInfo as pallet_referenda::TracksInfo<
<crate::configs::governance::tracks::TracksInfo as pezpallet_referenda::TracksInfo<
Balance,
BlockNumber,
>>::track_for(&OriginCaller::Origins(origins::Origin::SmallTipper))
@@ -299,7 +299,7 @@ mod tests {
#[test]
fn test_track_custom_origin_big_tipper() {
let track =
<crate::configs::governance::tracks::TracksInfo as pallet_referenda::TracksInfo<
<crate::configs::governance::tracks::TracksInfo as pezpallet_referenda::TracksInfo<
Balance,
BlockNumber,
>>::track_for(&OriginCaller::Origins(origins::Origin::BigTipper))
@@ -310,7 +310,7 @@ mod tests {
#[test]
fn test_track_custom_origin_small_spender() {
let track =
<crate::configs::governance::tracks::TracksInfo as pallet_referenda::TracksInfo<
<crate::configs::governance::tracks::TracksInfo as pezpallet_referenda::TracksInfo<
Balance,
BlockNumber,
>>::track_for(&OriginCaller::Origins(origins::Origin::SmallSpender))
@@ -321,7 +321,7 @@ mod tests {
#[test]
fn test_track_custom_origin_medium_spender() {
let track =
<crate::configs::governance::tracks::TracksInfo as pallet_referenda::TracksInfo<
<crate::configs::governance::tracks::TracksInfo as pezpallet_referenda::TracksInfo<
Balance,
BlockNumber,
>>::track_for(&OriginCaller::Origins(origins::Origin::MediumSpender))
@@ -332,7 +332,7 @@ mod tests {
#[test]
fn test_track_custom_origin_big_spender() {
let track =
<crate::configs::governance::tracks::TracksInfo as pallet_referenda::TracksInfo<
<crate::configs::governance::tracks::TracksInfo as pezpallet_referenda::TracksInfo<
Balance,
BlockNumber,
>>::track_for(&OriginCaller::Origins(origins::Origin::BigSpender))
@@ -343,10 +343,10 @@ mod tests {
#[test]
fn test_track_error() {
let () =
<crate::configs::governance::tracks::TracksInfo as pallet_referenda::TracksInfo<
<crate::configs::governance::tracks::TracksInfo as pezpallet_referenda::TracksInfo<
Balance,
BlockNumber,
>>::track_for(&OriginCaller::CumulusXcm(cumulus_pallet_xcm::Origin::Relay))
>>::track_for(&OriginCaller::CumulusXcm(cumulus_pezpallet_xcm::Origin::Relay))
.expect_err("incorrect config");
}
}
+45 -45
View File
@@ -5,15 +5,15 @@ pub mod xcm_config;
use asset_config::*;
#[cfg(feature = "tanssi")]
use cumulus_pallet_parachain_system::ExpectParentIncluded;
use cumulus_pezpallet_teyrchain_system::ExpectParentIncluded;
#[cfg(feature = "async-backing")]
use cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases;
use cumulus_pezpallet_teyrchain_system::RelayNumberMonotonicallyIncreases;
#[cfg(not(feature = "async-backing"))]
use cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases;
use cumulus_pezpallet_teyrchain_system::RelayNumberStrictlyIncreases;
use cumulus_primitives_core::{AggregateMessageOrigin, ParaId};
#[cfg(not(feature = "tanssi"))]
use frame_support::PalletId;
use frame_support::{
use pezframe_support::PalletId;
use pezframe_support::{
derive_impl,
dispatch::DispatchClass,
parameter_types,
@@ -23,37 +23,37 @@ use frame_support::{
},
weights::{ConstantMultiplier, Weight},
};
use frame_system::{
use pezframe_system::{
limits::{BlockLength, BlockWeights},
EnsureRoot, EnsureRootWithSuccess, EnsureSigned,
};
pub use governance::origins::pallet_custom_origins;
pub use governance::origins::pezpallet_custom_origins;
use governance::{origins::Treasurer, tracks, Spender, WhitelistedCaller};
#[cfg(feature = "tanssi")]
use nimbus_primitives::NimbusId;
use openzeppelin_pallet_abstractions::{
use openzeppelin_pezpallet_abstractions::{
impl_openzeppelin_assets, impl_openzeppelin_evm, impl_openzeppelin_governance,
impl_openzeppelin_system, impl_openzeppelin_xcm, AssetsConfig, AssetsWeight, EvmConfig,
EvmWeight, GovernanceConfig, GovernanceWeight, SystemConfig, SystemWeight, XcmConfig,
XcmWeight,
};
#[cfg(not(feature = "tanssi"))]
use openzeppelin_pallet_abstractions::{
use openzeppelin_pezpallet_abstractions::{
impl_openzeppelin_consensus, ConsensusConfig, ConsensusWeight,
};
#[cfg(feature = "tanssi")]
use openzeppelin_pallet_abstractions::{impl_openzeppelin_tanssi, TanssiConfig, TanssiWeight};
use pallet_asset_tx_payment::HandleCredit;
use pallet_ethereum::PostLogContent;
use pallet_evm::{
EVMCurrencyAdapter, EnsureAccountId20, FrameSystemAccountProvider, IdentityAddressMapping,
use openzeppelin_pezpallet_abstractions::{impl_openzeppelin_tanssi, TanssiConfig, TanssiWeight};
use pezpallet_asset_tx_payment::HandleCredit;
use pezpallet_ethereum::PostLogContent;
use pezpallet_evm::{
EVMCurrencyAdapter, EnsureAccountId20, PezframeSystemAccountProvider, IdentityAddressMapping,
};
use parachains_common::{
use teyrchains_common::{
impls::AccountIdOf,
message_queue::{NarrowOriginToSibling, ParaIdToSibling},
};
use parity_scale_codec::{Decode, Encode};
use polkadot_runtime_common::{BlockHashCount, SlowAdjustingFeeUpdate};
use pezkuwi_runtime_common::{BlockHashCount, SlowAdjustingFeeUpdate};
#[cfg(not(feature = "tanssi"))]
use sp_consensus_aura::sr25519::AuthorityId as AuraId;
use sp_core::{H160, U256};
@@ -68,7 +68,7 @@ use xcm_builder::ProcessXcmMessage;
use xcm_builder::{
AllowExplicitUnpaidExecutionFrom, AllowTopLevelPaidExecutionFrom,
DenyReserveTransferToRelayChain, DenyThenTry, EnsureXcmOrigin, FixedWeightBounds,
FrameTransactionalProcessor, TakeWeightCredit, TrailingSetTopicAsId, WithComputedOrigin,
PezframeTransactionalProcessor, TakeWeightCredit, TrailingSetTopicAsId, WithComputedOrigin,
WithUniqueTopic,
};
use xcm_config::*;
@@ -87,20 +87,20 @@ use crate::{
};
use crate::{
constants::{
currency::{deposit, CENTS, EXISTENTIAL_DEPOSIT, MICROCENTS, MILLICENTS},
currency::{deposit, CENTS, EXISTENTIAL_DEPOSIT, MICTYRENTS, MILLICENTS},
AVERAGE_ON_INITIALIZE_RATIO, DAYS, MAXIMUM_BLOCK_WEIGHT, MAX_BLOCK_LENGTH,
NORMAL_DISPATCH_RATIO, SLOT_DURATION, VERSION, WEIGHT_PER_GAS,
},
opaque,
types::{
AccountId, AssetId, AssetKind, Balance, Beneficiary, Block, Hash,
MessageQueueServiceWeight, Nonce, PrecompilesValue, PriceForSiblingParachainDelivery,
ProxyType, TreasuryInteriorLocation, TreasuryPalletId, TreasuryPaymaster, Version,
MessageQueueServiceWeight, Nonce, PrecompilesValue, PriceForSiblingTeyrChainDelivery,
ProxyType, TreasuryInteriorLocation, TreasuryPezpalletId, TreasuryPaymaster, Version,
},
weights::{BlockExecutionWeight, ExtrinsicBaseWeight},
AllPalletsWithSystem, AssetManager, Balances, BaseFee, EVMChainId, Erc20XcmBridge,
MessageQueue, OpenZeppelinPrecompiles, Oracle, OracleMembership, OriginCaller, PalletInfo,
ParachainInfo, ParachainSystem, PolkadotXcm, Preimage, Referenda, Runtime, RuntimeCall,
AllPezpalletsWithSystem, AssetManager, Balances, BaseFee, EVMChainId, Erc20XcmBridge,
MessageQueue, OpenZeppelinPrecompiles, Oracle, OracleMembership, OriginCaller, PezpalletInfo,
TeyrChainInfo, TeyrChainSystem, PezkuwiXcm, Preimage, Referenda, Runtime, RuntimeCall,
RuntimeEvent, RuntimeFreezeReason, RuntimeHoldReason, RuntimeOrigin, RuntimeTask, Scheduler,
System, Timestamp, Treasury, UncheckedExtrinsic, WeightToFee, XcmpQueue,
};
@@ -141,7 +141,7 @@ impl GovernanceConfig for OpenZeppelinRuntime {
type ReferendaSubmitOrigin = EnsureSigned<AccountId>;
type ReferendaUndecidingTimeout = ConstU32<{ 14 * DAYS }>;
type TreasuryInteriorLocation = TreasuryInteriorLocation;
type TreasuryPalletId = TreasuryPalletId;
type TreasuryPezpalletId = TreasuryPezpalletId;
type TreasuryPayoutSpendPeriod = ConstU32<{ 30 * DAYS }>;
type TreasuryRejectOrigin = EitherOfDiverse<EnsureRoot<AccountId>, Treasurer>;
type TreasurySpendOrigin = TreasurySpender;
@@ -168,7 +168,7 @@ impl XcmConfig for OpenZeppelinRuntime {
type MessageQueueHeapSize = ConstU32<{ 64 * 1024 }>;
type MessageQueueMaxStale = ConstU32<8>;
type MessageQueueServiceWeight = MessageQueueServiceWeight;
type ParachainMinFee = ParachainMinFee;
type TeyrChainMinFee = TeyrChainMinFee;
type PauseSupportedAssetOrigin = EnsureRoot<AccountId>;
type RelayLocation = RelayLocation;
type RemoveSupportedAssetOrigin = EnsureRoot<AccountId>;
@@ -177,7 +177,7 @@ impl XcmConfig for OpenZeppelinRuntime {
type SelfLocation = SelfLocation;
type SelfReserve = SelfReserve;
type SovereignAccountDispatcherOrigin = EnsureRoot<AccountId>;
type Trader = pallet_xcm_weight_trader::Trader<Runtime>;
type Trader = pezpallet_xcm_weight_trader::Trader<Runtime>;
type TransactorReserveProvider =
xcm_primitives::AbsoluteAndRelativeReserve<SelfLocationAbsolute>;
type Transactors = Transactors;
@@ -211,16 +211,16 @@ parameter_types! {
}
pub struct AssetsToBlockAuthor<R, I>(PhantomData<(R, I)>);
impl<R, I> HandleCredit<AccountIdOf<R>, pallet_assets::Pallet<R, I>> for AssetsToBlockAuthor<R, I>
impl<R, I> HandleCredit<AccountIdOf<R>, pezpallet_assets::Pallet<R, I>> for AssetsToBlockAuthor<R, I>
where
I: 'static,
R: pallet_authorship::Config + pallet_assets::Config<I>,
R: pezpallet_authorship::Config + pezpallet_assets::Config<I>,
{
fn handle_credit(credit: Credit<AccountIdOf<R>, pallet_assets::Pallet<R, I>>) {
use frame_support::traits::fungibles::Balanced;
if let Some(author) = pallet_authorship::Pallet::<R>::author() {
fn handle_credit(credit: Credit<AccountIdOf<R>, pezpallet_assets::Pallet<R, I>>) {
use pezframe_support::traits::fungibles::Balanced;
if let Some(author) = pezpallet_authorship::Pallet::<R>::author() {
// In case of error: Will drop the result triggering the `OnDrop` of the imbalance.
let _ = pallet_assets::Pallet::<R, I>::resolve(&author, credit);
let _ = pezpallet_assets::Pallet::<R, I>::resolve(&author, credit);
}
}
}
@@ -245,8 +245,8 @@ impl AssetsConfig for OpenZeppelinRuntime {
}
#[cfg(feature = "tanssi")]
impl TanssiConfig for OpenZeppelinRuntime {
type AuthorInherent = pallet_author_inherent::weights::SubstrateWeight<Runtime>;
type AuthoritiesNothing = pallet_cc_authorities_noting::weights::SubstrateWeight<Runtime>;
type AuthorInherent = pezpallet_author_inherent::weights::BizinikiwiWeight<Runtime>;
type AuthoritiesNothing = pezpallet_cc_authorities_noting::weights::BizinikiwiWeight<Runtime>;
}
impl_openzeppelin_assets!(OpenZeppelinRuntime);
impl_openzeppelin_system!(OpenZeppelinRuntime);
@@ -290,9 +290,9 @@ impl<F: FindAuthor<NimbusId>> FindAuthor<H160> for FindAuthorSession<F> {
pub struct TransactionConverter;
impl fp_rpc::ConvertTransaction<UncheckedExtrinsic> for TransactionConverter {
fn convert_transaction(&self, transaction: pallet_ethereum::Transaction) -> UncheckedExtrinsic {
fn convert_transaction(&self, transaction: pezpallet_ethereum::Transaction) -> UncheckedExtrinsic {
UncheckedExtrinsic::new_bare(
pallet_ethereum::Call::<Runtime>::transact { transaction }.into(),
pezpallet_ethereum::Call::<Runtime>::transact { transaction }.into(),
)
}
}
@@ -300,10 +300,10 @@ impl fp_rpc::ConvertTransaction<UncheckedExtrinsic> for TransactionConverter {
impl fp_rpc::ConvertTransaction<opaque::UncheckedExtrinsic> for TransactionConverter {
fn convert_transaction(
&self,
transaction: pallet_ethereum::Transaction,
transaction: pezpallet_ethereum::Transaction,
) -> opaque::UncheckedExtrinsic {
let extrinsic = UncheckedExtrinsic::new_bare(
pallet_ethereum::Call::<Runtime>::transact { transaction }.into(),
pezpallet_ethereum::Call::<Runtime>::transact { transaction }.into(),
);
let encoded = extrinsic.encode();
opaque::UncheckedExtrinsic::decode(&mut &encoded[..])
@@ -314,8 +314,8 @@ impl fp_rpc::ConvertTransaction<opaque::UncheckedExtrinsic> for TransactionConve
#[cfg(test)]
mod tests {
mod assets_to_block_author {
use frame_support::traits::fungibles::Balanced;
use pallet_asset_tx_payment::HandleCredit;
use pezframe_support::traits::fungibles::Balanced;
use pezpallet_asset_tx_payment::HandleCredit;
use parity_scale_codec::Encode;
use sp_runtime::{
testing::{Digest, DigestItem},
@@ -339,8 +339,8 @@ mod tests {
let mut digest = Digest::default();
digest.push(DigestItem::PreRuntime(MOCK_ENGINE_ID, author.encode()));
// For unit tests we are updating storage of author in a straightforward way
frame_support::storage::unhashed::put(
&frame_support::storage::storage_prefix(b"Authorship", b"Author"),
pezframe_support::storage::unhashed::put(
&pezframe_support::storage::storage_prefix(b"Authorship", b"Author"),
&author,
);
// Create asset and mint initial supply
@@ -381,7 +381,7 @@ mod tests {
fn new_test_ext() -> sp_io::TestExternalities {
use sp_runtime::BuildStorage;
frame_system::GenesisConfig::<Runtime>::default().build_storage().unwrap().into()
pezframe_system::GenesisConfig::<Runtime>::default().build_storage().unwrap().into()
}
}
mod transaction_converter {
@@ -393,11 +393,11 @@ mod tests {
use crate::{configs::TransactionConverter, RuntimeCall, UncheckedExtrinsic};
fn get_transaction() -> pallet_ethereum::Transaction {
fn get_transaction() -> pezpallet_ethereum::Transaction {
let mut input = vec![];
let data = "095ea7b30000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000000000000000000000000001b1ae4d6e2ef5000000".as_bytes();
input.extend_from_slice(data);
pallet_ethereum::Transaction::Legacy(LegacyTransaction {
pezpallet_ethereum::Transaction::Legacy(LegacyTransaction {
nonce: U256::from_dec_str("842").unwrap(),
gas_price: U256::from_dec_str("35540887252").unwrap(),
gas_limit: U256::from_dec_str("500000").unwrap(),
+28 -28
View File
@@ -1,8 +1,8 @@
#[cfg(not(feature = "tanssi"))]
use openzeppelin_pallet_abstractions::ConsensusWeight;
use openzeppelin_pezpallet_abstractions::ConsensusWeight;
#[cfg(feature = "tanssi")]
use openzeppelin_pallet_abstractions::TanssiWeight;
use openzeppelin_pallet_abstractions::{
use openzeppelin_pezpallet_abstractions::TanssiWeight;
use openzeppelin_pezpallet_abstractions::{
AssetsWeight, EvmWeight, GovernanceWeight, SystemWeight, XcmWeight,
};
@@ -13,53 +13,53 @@ use crate::{
};
impl SystemWeight for OpenZeppelinRuntime {
type Balances = weights::pallet_balances::WeightInfo<Runtime>;
type Balances = weights::pezpallet_balances::WeightInfo<Runtime>;
type DbWeight = RocksDbWeight;
type Multisig = weights::pallet_multisig::WeightInfo<Runtime>;
type ParachainSystem = weights::cumulus_pallet_parachain_system::WeightInfo<Runtime>;
type Preimage = weights::pallet_preimage::WeightInfo<Runtime>;
type Proxy = weights::pallet_proxy::WeightInfo<Runtime>;
type Scheduler = weights::pallet_scheduler::WeightInfo<Runtime>;
type Timestamp = weights::pallet_timestamp::WeightInfo<Runtime>;
type Utility = weights::pallet_utility::WeightInfo<Runtime>;
type Multisig = weights::pezpallet_multisig::WeightInfo<Runtime>;
type TeyrChainSystem = weights::cumulus_pezpallet_teyrchain_system::WeightInfo<Runtime>;
type Preimage = weights::pezpallet_preimage::WeightInfo<Runtime>;
type Proxy = weights::pezpallet_proxy::WeightInfo<Runtime>;
type Scheduler = weights::pezpallet_scheduler::WeightInfo<Runtime>;
type Timestamp = weights::pezpallet_timestamp::WeightInfo<Runtime>;
type Utility = weights::pezpallet_utility::WeightInfo<Runtime>;
}
#[cfg(not(feature = "tanssi"))]
impl ConsensusWeight for OpenZeppelinRuntime {
type CollatorSelection = weights::pallet_collator_selection::WeightInfo<Runtime>;
type Session = weights::pallet_session::WeightInfo<Runtime>;
type CollatorSelection = weights::pezpallet_collator_selection::WeightInfo<Runtime>;
type Session = weights::pezpallet_session::WeightInfo<Runtime>;
}
impl AssetsWeight for OpenZeppelinRuntime {
type AssetManager = weights::pallet_asset_manager::WeightInfo<Runtime>;
type Assets = weights::pallet_assets::WeightInfo<Runtime>;
type AssetManager = weights::pezpallet_asset_manager::WeightInfo<Runtime>;
type Assets = weights::pezpallet_assets::WeightInfo<Runtime>;
// TODO: fix weight
type OracleMembership = ();
type OrmlOracle = (); // TODO: fix weight
}
impl GovernanceWeight for OpenZeppelinRuntime {
type ConvictionVoting = weights::pallet_conviction_voting::WeightInfo<Runtime>;
type Referenda = weights::pallet_referenda::WeightInfo<Runtime>;
type Sudo = weights::pallet_sudo::WeightInfo<Runtime>;
type Treasury = weights::pallet_treasury::WeightInfo<Runtime>;
type Whitelist = weights::pallet_whitelist::WeightInfo<Runtime>;
type ConvictionVoting = weights::pezpallet_conviction_voting::WeightInfo<Runtime>;
type Referenda = weights::pezpallet_referenda::WeightInfo<Runtime>;
type Sudo = weights::pezpallet_sudo::WeightInfo<Runtime>;
type Treasury = weights::pezpallet_treasury::WeightInfo<Runtime>;
type Whitelist = weights::pezpallet_whitelist::WeightInfo<Runtime>;
}
impl XcmWeight for OpenZeppelinRuntime {
type MessageQueue = weights::pallet_message_queue::WeightInfo<Runtime>;
type Xcm = weights::pallet_xcm::WeightInfo<Runtime>;
type XcmTransactor = weights::pallet_xcm_transactor::WeightInfo<Runtime>;
type XcmWeightTrader = weights::pallet_xcm_weight_trader::WeightInfo<Runtime>;
type XcmpQueue = weights::cumulus_pallet_xcmp_queue::WeightInfo<Runtime>;
type MessageQueue = weights::pezpallet_message_queue::WeightInfo<Runtime>;
type Xcm = weights::pezpallet_xcm::WeightInfo<Runtime>;
type XcmTransactor = weights::pezpallet_xcm_transactor::WeightInfo<Runtime>;
type XcmWeightTrader = weights::pezpallet_xcm_weight_trader::WeightInfo<Runtime>;
type XcmpQueue = weights::cumulus_pezpallet_xcmp_queue::WeightInfo<Runtime>;
}
impl EvmWeight for OpenZeppelinRuntime {
type Evm = weights::pallet_evm::WeightInfo<Runtime>;
type Evm = weights::pezpallet_evm::WeightInfo<Runtime>;
}
#[cfg(feature = "tanssi")]
impl TanssiWeight for OpenZeppelinRuntime {
type AuthorInherent = pallet_author_inherent::weights::SubstrateWeight<Runtime>;
type AuthoritiesNoting = pallet_cc_authorities_noting::weights::SubstrateWeight<Runtime>;
type AuthorInherent = pezpallet_author_inherent::weights::BizinikiwiWeight<Runtime>;
type AuthoritiesNoting = pezpallet_cc_authorities_noting::weights::BizinikiwiWeight<Runtime>;
}
+68 -68
View File
@@ -1,15 +1,15 @@
use core::marker::PhantomData;
use frame_support::{
use pezframe_support::{
parameter_types,
traits::{ConstU32, Contains, ContainsPair, Everything, PalletInfoAccess},
traits::{ConstU32, Contains, ContainsPair, Everything, PezpalletInfoAccess},
weights::Weight,
};
use orml_traits::{location::Reserve, parameter_type_with_key};
use orml_xcm_support::MultiNativeAsset;
use pallet_xcm::XcmPassthrough;
use pezpallet_xcm::XcmPassthrough;
use parity_scale_codec::{Decode, DecodeWithMemTracking, Encode};
use polkadot_parachain_primitives::primitives::{self, Sibling};
use pezkuwi_teyrchain_primitives::primitives::{self, Sibling};
use scale_info::TypeInfo;
use sp_core::H160;
use sp_runtime::Vec;
@@ -17,8 +17,8 @@ use xcm::latest::prelude::{Assets as XcmAssets, *};
use xcm_builder::{
AccountKey20Aliases, AllowExplicitUnpaidExecutionFrom, AllowTopLevelPaidExecutionFrom, Case,
ConvertedConcreteId, DenyReserveTransferToRelayChain, DenyThenTry, FixedWeightBounds,
FungibleAdapter, FungiblesAdapter, HandleFee, IsChildSystemParachain, IsConcrete, NoChecking,
ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia,
FungibleAdapter, FungiblesAdapter, HandleFee, IsChildSystemTeyrChain, IsConcrete, NoChecking,
ParentIsPreset, RelayChainAsNative, SiblingTeyrChainAsNative, SiblingTeyrChainConvertsVia,
SignedAccountKey20AsNative, SovereignSignedViaLocation, TakeWeightCredit, TrailingSetTopicAsId,
WithComputedOrigin, WithUniqueTopic, XcmFeeManagerFromComponents,
};
@@ -27,35 +27,35 @@ use xcm_primitives::{AsAssetType, UtilityAvailableCalls, UtilityEncodeCall, XcmT
use crate::{
configs::{
AssetType, Erc20XcmBridgePalletLocation, ParachainSystem, Runtime, RuntimeCall,
AssetType, Erc20XcmBridgePezpalletLocation, TeyrChainSystem, Runtime, RuntimeCall,
RuntimeOrigin, XcmpQueue,
},
types::{AccountId, AssetId, Balance},
AssetManager, Assets, Balances, ParachainInfo, Treasury,
AssetManager, Assets, Balances, TeyrChainInfo, Treasury,
};
parameter_types! {
pub const RelayNetwork: Option<NetworkId> = None;
pub AssetsPalletLocation: Location =
PalletInstance(<Assets as PalletInfoAccess>::index() as u8).into();
pub BalancesPalletLocation: Location = PalletInstance(<Balances as PalletInfoAccess>::index() as u8).into();
pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into();
pub UniversalLocation: InteriorLocation = Parachain(ParachainInfo::parachain_id().into()).into();
pub AssetsPezpalletLocation: Location =
PezpalletInstance(<Assets as PezpalletInfoAccess>::index() as u8).into();
pub BalancesPezpalletLocation: Location = PezpalletInstance(<Balances as PezpalletInfoAccess>::index() as u8).into();
pub RelayChainOrigin: RuntimeOrigin = cumulus_pezpallet_xcm::Origin::Relay.into();
pub UniversalLocation: InteriorLocation = TeyrChain(TeyrChainInfo::teyrchain_id().into()).into();
// Self Reserve location, defines the multilocation identifiying the self-reserve currency
// This is used to match it also against our Balances pallet when we receive such
// a Location: (Self Balances pallet index)
// This is used to match it also against our Balances pezpallet when we receive such
// a Location: (Self Balances pezpallet index)
// We use the RELATIVE multilocation
pub SelfReserve: Location = Location {
parents:0,
interior: [
PalletInstance(<Balances as PalletInfoAccess>::index() as u8)
PezpalletInstance(<Balances as PezpalletInfoAccess>::index() as u8)
].into()
};
}
/// `AssetId/Balancer` converter for `TrustBackedAssets`
pub type TrustBackedAssetsConvertedConcreteId =
assets_common::TrustBackedAssetsConvertedConcreteId<AssetsPalletLocation, Balance>;
assets_common::TrustBackedAssetsConvertedConcreteId<AssetsPezpalletLocation, Balance>;
/// Type for specifying how a `Location` can be converted into an
/// `AccountId`. This is used when determining ownership of accounts for asset
@@ -64,8 +64,8 @@ pub type TrustBackedAssetsConvertedConcreteId =
pub type LocationToAccountId = (
// The parent (Relay-chain) origin converts to the parent `AccountId`.
ParentIsPreset<AccountId>,
// Sibling parachain origins convert to AccountId via the `ParaId::into`.
SiblingParachainConvertsVia<Sibling, AccountId>,
// Sibling teyrchain origins convert to AccountId via the `ParaId::into`.
SiblingTeyrChainConvertsVia<Sibling, AccountId>,
// If we receive a Location of type AccountKey20, just generate a native account
AccountKey20Aliases<RelayNetwork, AccountId>,
);
@@ -75,7 +75,7 @@ pub type LocalAssetTransactor = FungibleAdapter<
// Use this currency:
Balances,
// Use this currency when it is a fungible asset matching the given location or name:
IsConcrete<BalancesPalletLocation>,
IsConcrete<BalancesPezpalletLocation>,
// Do a simple punn to convert an AccountId20 Location into a native chain account ID:
LocationToAccountId,
// Our chain's account ID type (we can't get away without mentioning it explicitly):
@@ -115,13 +115,13 @@ pub type XcmOriginToTransactDispatchOrigin = (
// Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when
// recognized.
RelayChainAsNative<RelayChainOrigin, RuntimeOrigin>,
// Native converter for sibling Parachains; will convert to a `SiblingPara` origin when
// Native converter for sibling TeyrChains; will convert to a `SiblingPara` origin when
// recognized.
SiblingParachainAsNative<cumulus_pallet_xcm::Origin, RuntimeOrigin>,
SiblingTeyrChainAsNative<cumulus_pezpallet_xcm::Origin, RuntimeOrigin>,
// Xcm Origins defined by a Multilocation of type AccountKey20 can be converted to a 20 byte-
// account local origin
SignedAccountKey20AsNative<RelayNetwork, RuntimeOrigin>,
// Xcm origins can be represented natively under the Xcm pallet's Xcm origin.
// Xcm origins can be represented natively under the Xcm pezpallet's Xcm origin.
XcmPassthrough<RuntimeOrigin>,
);
@@ -216,7 +216,7 @@ where
parameter_types! {
/// Location of Asset Hub
pub AssetHubLocation: Location = Location::new(1, [Parachain(1000)]);
pub AssetHubLocation: Location = Location::new(1, [TeyrChain(1000)]);
pub const RelayLocation: Location = Location::parent();
pub RelayLocationFilter: AssetFilter = Wild(AllOf {
fun: WildFungible,
@@ -231,7 +231,7 @@ parameter_types! {
pub type Reserves = (
// Assets bridged from different consensus systems held in reserve on Asset Hub.
IsBridgedConcreteAssetFrom<AssetHubLocation>,
// Relaychain (DOT) from Asset Hub
// Relaychain (HEZ) from Asset Hub
Case<RelayChainNativeAssetFromAssetHub>,
// Assets which the reserve is the same as the origin.
MultiNativeAsset<AbsoluteAndRelativeReserve<SelfLocationAbsolute>>,
@@ -243,12 +243,12 @@ parameter_types! {
/// If you change this config, keep in mind that you should define how you collect fees.
pub type FeeManager = XcmFeeManagerFromComponents<
IsChildSystemParachain<primitives::Id>,
IsChildSystemTeyrChain<primitives::Id>,
XcmFeeToAccount<AssetTransactors, AccountId, TreasuryAccount>,
>;
pub type XcmWeigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>;
use frame_support::{pallet_prelude::Get, traits::OriginTrait};
use pezframe_support::{pezpallet_prelude::Get, traits::OriginTrait};
use sp_runtime::traits::TryConvert;
// Convert a local Origin (i.e., a signed 20 byte account Origin) to a Multilocation
@@ -258,12 +258,12 @@ pub struct SignedToAccountId20<Origin, AccountId, Network>(
impl<Origin: OriginTrait + Clone, AccountId: Into<[u8; 20]>, Network: Get<Option<NetworkId>>>
TryConvert<Origin, Location> for SignedToAccountId20<Origin, AccountId, Network>
where
Origin::PalletsOrigin: From<frame_system::RawOrigin<AccountId>>
+ TryInto<frame_system::RawOrigin<AccountId>, Error = Origin::PalletsOrigin>,
Origin::PalletsOrigin: From<pezframe_system::RawOrigin<AccountId>>
+ TryInto<pezframe_system::RawOrigin<AccountId>, Error = Origin::PalletsOrigin>,
{
fn try_convert(o: Origin) -> Result<Location, Origin> {
o.try_with_caller(|caller| match caller.try_into() {
Ok(frame_system::RawOrigin::Signed(who)) =>
Ok(pezframe_system::RawOrigin::Signed(who)) =>
Ok(AccountKey20 { key: who.into(), network: Network::get() }.into()),
Ok(other) => Err(other.into()),
Err(other) => Err(other),
@@ -278,7 +278,7 @@ pub type LocalOriginToLocation = SignedToAccountId20<RuntimeOrigin, AccountId, R
/// the right message queues.
pub type XcmRouter = WithUniqueTopic<(
// Two routers - use UMP to communicate with the relay chain:
cumulus_primitives_utility::ParentAsUmp<ParachainSystem, (), ()>,
cumulus_primitives_utility::ParentAsUmp<TeyrChainSystem, (), ()>,
// ..and XCMP to communicate with the sibling chains.
XcmpQueue,
)>;
@@ -296,16 +296,16 @@ parameter_types! {
pub SelfLocationAbsolute: Location = Location {
parents:1,
interior: [
Parachain(ParachainInfo::parachain_id().into())
TeyrChain(TeyrChainInfo::teyrchain_id().into())
].into()
};
}
parameter_type_with_key! {
pub ParachainMinFee: |location: Location| -> Option<u128> {
pub TeyrChainMinFee: |location: Location| -> Option<u128> {
match (location.parents, location.first_interior()) {
// Polkadot AssetHub fee
(1, Some(Parachain(1000u32))) => Some(50_000_000u128),
// Pezkuwi AssetHub fee
(1, Some(TeyrChain(1000u32))) => Some(50_000_000u128),
_ => None,
}
};
@@ -339,7 +339,7 @@ where
}
CurrencyId::ForeignAsset(asset) => AssetXConverter::convert_back(&asset),
CurrencyId::Erc20 { contract_address } => {
let mut location = Erc20XcmBridgePalletLocation::get();
let mut location = Erc20XcmBridgePezpalletLocation::get();
location
.push_interior(Junction::AccountKey20 {
key: contract_address.0,
@@ -361,19 +361,19 @@ impl ConvertLocation<H160> for LocationToH160 {
}
}
/// The `DOTReserveProvider` overrides the default reserve location for DOT (Polkadot's native token).
/// The `HEZReserveProvider` overrides the default reserve location for HEZ (Pezkuwi's native token).
///
/// DOT can exist in multiple locations, and this provider ensures that the reserve is correctly set
/// to the AssetHub parachain.
/// HEZ can exist in multiple locations, and this provider ensures that the reserve is correctly set
/// to the AssetHub teyrchain.
///
/// - **Default Location:** `{ parents: 1, location: Here }`
/// - **Reserve Location on AssetHub:** `{ parents: 1, location: X1(Parachain(AssetHubParaId)) }`
/// - **Reserve Location on AssetHub:** `{ parents: 1, location: X1(TeyrChain(AssetHubParaId)) }`
///
/// This provider ensures that if the asset's ID points to the default "Here" location,
/// it will instead be mapped to the AssetHub parachain.
pub struct DOTReserveProvider;
/// it will instead be mapped to the AssetHub teyrchain.
pub struct HEZReserveProvider;
impl Reserve for DOTReserveProvider {
impl Reserve for HEZReserveProvider {
fn reserve(asset: &Asset) -> Option<Location> {
let AssetId(location) = &asset.id;
@@ -394,8 +394,8 @@ impl Reserve for DOTReserveProvider {
/// Specifically, these bridged assets can have two known reserves:
/// 1. **Ethereum-based Reserve:**
/// `{ parents: 1, location: X1(GlobalConsensus(Ethereum{ chain_id: 1 })) }`
/// 2. **AssetHub Parachain Reserve:**
/// `{ parents: 1, location: X1(Parachain(AssetHubParaId)) }`
/// 2. **AssetHub TeyrChain Reserve:**
/// `{ parents: 1, location: X1(TeyrChain(AssetHubParaId)) }`
///
/// This provider maps the reserve for bridged assets to AssetHub when the asset originates
/// from a global consensus system, such as Ethereum.
@@ -429,7 +429,7 @@ impl Reserve for RelativeReserveProvider {
fn reserve(asset: &Asset) -> Option<Location> {
let AssetId(location) = &asset.id;
if location.parents == 0
&& !matches!(location.first_interior(), Some(Junction::Parachain(_)))
&& !matches!(location.first_interior(), Some(Junction::TeyrChain(_)))
{
Some(Location::here())
} else {
@@ -441,7 +441,7 @@ impl Reserve for RelativeReserveProvider {
/// Struct that uses RelativeReserveProvider to output relative views of multilocations
///
/// Additionally accepts a Location that aims at representing the chain part
/// (parent: 1, Parachain(paraId)) of the absolute representation of our chain.
/// (parent: 1, TeyrChain(paraId)) of the absolute representation of our chain.
/// If a token reserve matches against this absolute view, we return Some(Location::here())
/// This helps users by preventing errors when they try to transfer a token through xtokens
/// to our chain (either inserting the relative or the absolute value).
@@ -468,17 +468,17 @@ pub struct ReserveProviders;
impl Reserve for ReserveProviders {
fn reserve(asset: &Asset) -> Option<Location> {
// Try each provider's reserve method in sequence.
DOTReserveProvider::reserve(asset)
HEZReserveProvider::reserve(asset)
.or_else(|| BridgedAssetReserveProvider::reserve(asset))
.or_else(|| AbsoluteAndRelativeReserve::<SelfLocationAbsolute>::reserve(asset))
}
}
pub struct AssetFeesFilter;
impl frame_support::traits::Contains<Location> for AssetFeesFilter {
impl pezframe_support::traits::Contains<Location> for AssetFeesFilter {
fn contains(location: &Location) -> bool {
location.parent_count() > 0
&& location.first_interior() != Erc20XcmBridgePalletLocation::get().first_interior()
&& location.first_interior() != Erc20XcmBridgePezpalletLocation::get().first_interior()
}
}
@@ -514,8 +514,8 @@ impl TryFrom<u8> for Transactors {
impl UtilityEncodeCall for Transactors {
fn encode_call(self, call: UtilityAvailableCalls) -> Vec<u8> {
match self {
Transactors::Relay => pallet_xcm_transactor::Pallet::<Runtime>::encode_call(
pallet_xcm_transactor::Pallet(sp_std::marker::PhantomData::<Runtime>),
Transactors::Relay => pezpallet_xcm_transactor::Pallet::<Runtime>::encode_call(
pezpallet_xcm_transactor::Pallet(sp_std::marker::PhantomData::<Runtime>),
call,
),
}
@@ -570,7 +570,7 @@ mod testing {
mod tests {
mod is_bridged_concrete_assets_from {
use frame_support::traits::ContainsPair;
use pezframe_support::traits::ContainsPair;
use xcm::latest::{Asset, AssetId, Fungibility, Junctions, Location};
use crate::configs::{AssetHubLocation, IsBridgedConcreteAssetFrom};
@@ -640,7 +640,7 @@ mod tests {
let contract_address = H160::from_low_u64_be(0x1234);
let currency = CurrencyId::Erc20 { contract_address };
let mut expected_location = crate::configs::Erc20XcmBridgePalletLocation::get();
let mut expected_location = crate::configs::Erc20XcmBridgePezpalletLocation::get();
expected_location
.push_interior(AccountKey20 { network: None, key: contract_address.0 })
.unwrap();
@@ -652,7 +652,7 @@ mod tests {
}
mod asset_fee_filter {
use frame_support::traits::Contains;
use pezframe_support::traits::Contains;
use xcm::latest::{Junction::AccountKey20, Location};
use crate::configs::AssetFeesFilter;
@@ -665,7 +665,7 @@ mod tests {
#[test]
fn test_asset_fee_filter_invalid() {
let location = crate::configs::Erc20XcmBridgePalletLocation::get();
let location = crate::configs::Erc20XcmBridgePezpalletLocation::get();
assert!(!AssetFeesFilter::contains(&location));
}
@@ -713,7 +713,7 @@ mod tests {
}
mod reserve_providers {
use frame_support::traits::Get;
use pezframe_support::traits::Get;
use orml_traits::location::Reserve;
use xcm::latest::{Asset, AssetId, Fungibility, Junction, Junctions, Location};
@@ -723,7 +723,7 @@ mod tests {
#[test]
fn test_relative_reserve_provider_here() {
// Test case for a local asset (parents = 0, no Parachain junction)
// Test case for a local asset (parents = 0, no TeyrChain junction)
let local_asset = Asset {
id: AssetId(Location { parents: 0, interior: Junctions::Here }),
fun: Fungibility::Fungible(100),
@@ -735,7 +735,7 @@ mod tests {
#[test]
fn test_relative_reserve_provider_local_with_junctions() {
// Test case for a local asset with junctions but not Parachain
// Test case for a local asset with junctions but not TeyrChain
use std::sync::Arc;
let junction = Junction::AccountId32 { network: None, id: [0; 32] };
@@ -751,14 +751,14 @@ mod tests {
}
#[test]
fn test_relative_reserve_provider_parachain() {
// Test case for a parachain asset
fn test_relative_reserve_provider_teyrchain() {
// Test case for a teyrchain asset
use std::sync::Arc;
let junction = Junction::Parachain(1000);
let junction = Junction::TeyrChain(1000);
let junction_array = Arc::new([junction]);
let parachain_asset = Asset {
let teyrchain_asset = Asset {
id: AssetId(Location {
parents: 0,
interior: Junctions::X1(junction_array.clone()),
@@ -766,7 +766,7 @@ mod tests {
fun: Fungibility::Fungible(100),
};
let reserve = RelativeReserveProvider::reserve(&parachain_asset);
let reserve = RelativeReserveProvider::reserve(&teyrchain_asset);
// Should return the chain location, not Here
let expected = Location { parents: 0, interior: Junctions::X1(junction_array) };
assert_eq!(reserve, Some(expected));
@@ -794,14 +794,14 @@ mod tests {
struct MockAbsoluteLocation;
impl Get<Location> for MockAbsoluteLocation {
fn get() -> Location {
let junction = Junction::Parachain(1000);
let junction = Junction::TeyrChain(1000);
let junction_array = Arc::new([junction]);
Location { parents: 1, interior: Junctions::X1(junction_array) }
}
}
// Test case where the reserve matches the absolute location
let junction = Junction::Parachain(1000);
let junction = Junction::TeyrChain(1000);
let junction_array = Arc::new([junction]);
let asset = Asset {
@@ -822,14 +822,14 @@ mod tests {
struct MockAbsoluteLocation;
impl Get<Location> for MockAbsoluteLocation {
fn get() -> Location {
let junction = Junction::Parachain(1000);
let junction = Junction::TeyrChain(1000);
let junction_array = Arc::new([junction]);
Location { parents: 1, interior: Junctions::X1(junction_array) }
}
}
// Test case where the reserve doesn't match the absolute location
let junction = Junction::Parachain(2000);
let junction = Junction::TeyrChain(2000);
let junction_array = Arc::new([junction]);
let asset = Asset {
+9 -9
View File
@@ -1,4 +1,4 @@
use frame_support::weights::{constants::WEIGHT_REF_TIME_PER_SECOND, Weight};
use pezframe_support::weights::{constants::WEIGHT_REF_TIME_PER_SECOND, Weight};
use sp_runtime::Perbill;
use sp_version::{Cow, RuntimeVersion};
@@ -7,7 +7,7 @@ use crate::types::BlockNumber;
pub mod currency {
use crate::types::Balance;
pub const MICROCENTS: Balance = 1_000_000;
pub const MICTYRENTS: Balance = 1_000_000;
pub const MILLICENTS: Balance = 1_000_000_000;
pub const CENTS: Balance = 1_000 * MILLICENTS; // assume this is worth about a cent.
pub const DOLLARS: Balance = 100 * CENTS;
@@ -16,7 +16,7 @@ pub mod currency {
/// NB: Notice, that existential deposit was set to 0 intentionally to increase compatibility with EVM.
/// However, it leads to some risks, most importantly state bloating.
/// We acknowledge that there is such a risk and we have an opened issue to resolve it:
/// https://github.com/OpenZeppelin/polkadot-runtime-templates/issues/195
/// https://github.com/OpenZeppelin/pezkuwi-runtime-templates/issues/195
/// If you read this message please check out this issue to see if it is resolved and what can you do to implement the fix.
#[cfg(not(feature = "runtime-benchmarks"))]
pub const EXISTENTIAL_DEPOSIT: Balance = 0;
@@ -35,8 +35,8 @@ pub const POLY_DEGREE: u8 = 1;
#[sp_version::runtime_version]
pub const VERSION: RuntimeVersion = RuntimeVersion {
spec_name: Cow::Borrowed("template-parachain"),
impl_name: Cow::Borrowed("template-parachain"),
spec_name: Cow::Borrowed("template-teyrchain"),
impl_name: Cow::Borrowed("template-teyrchain"),
authoring_version: 1,
spec_version: 1,
impl_version: 0,
@@ -47,8 +47,8 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
/// This determines the average expected block time that we are targeting.
/// Blocks will be produced at a minimum duration defined by `SLOT_DURATION`.
/// `SLOT_DURATION` is picked up by `pallet_timestamp` which is in turn picked
/// up by `pallet_aura` to implement `fn slot_duration()`.
/// `SLOT_DURATION` is picked up by `pezpallet_timestamp` which is in turn picked
/// up by `pezpallet_aura` to implement `fn slot_duration()`.
///
/// Change this to adjust the block time.
#[cfg(feature = "async-backing")]
@@ -90,9 +90,9 @@ pub const MAXIMUM_BLOCK_WEIGHT: Weight = Weight::from_parts(
pub const UNINCLUDED_SEGMENT_CAPACITY: u32 = 3;
#[cfg(not(feature = "async-backing"))]
pub const UNINCLUDED_SEGMENT_CAPACITY: u32 = 1;
/// How many parachain blocks are processed by the relay chain per parent.
/// How many teyrchain blocks are processed by the relay chain per parent.
/// Limits the number of blocks authored per slot.
pub const BLOCK_PROCESSING_VELOCITY: u32 = 1;
pub const BLOCK_PTYRESSING_VELOCITY: u32 = 1;
/// Relay chain slot duration, in milliseconds.
pub const RELAY_CHAIN_SLOT_DURATION_MILLIS: u32 = 6000;
/// Maximum length for a block.
@@ -3,8 +3,8 @@
use alloc::{format, vec, vec::Vec};
use cumulus_primitives_core::ParaId;
use frame_support::build_struct_json_patch;
use parachains_common::AuraId;
use pezframe_support::build_struct_json_patch;
use teyrchains_common::AuraId;
use serde_json::Value;
use sp_core::{ecdsa, Pair, Public};
use sp_genesis_builder::PresetId;
@@ -12,16 +12,16 @@ use sp_runtime::traits::{IdentifyAccount, Verify};
use crate::{
constants::currency::EXISTENTIAL_DEPOSIT, AccountId, BalancesConfig, CollatorSelectionConfig,
ParachainInfoConfig, PolkadotXcmConfig, RuntimeGenesisConfig, SessionConfig, SessionKeys,
TeyrChainInfoConfig, PezkuwiXcmConfig, RuntimeGenesisConfig, SessionConfig, SessionKeys,
Signature, SudoConfig,
};
/// The default XCM version to set in genesis config.
const SAFE_XCM_VERSION: u32 = xcm::prelude::XCM_VERSION;
/// Parachain id used for genesis config presets of parachain template.
/// TeyrChain id used for genesis config presets of teyrchain template.
#[docify::export_content]
pub const PARACHAIN_ID: u32 = 1000;
pub const TEYRCHAIN_ID: u32 = 1000;
/// Generate the session keys from individual elements.
pub fn template_session_keys(keys: AuraId) -> SessionKeys {
@@ -69,7 +69,7 @@ fn testnet_genesis(
.map(|k| (k, 1u128 << 60))
.collect::<Vec<_>>(),
},
parachain_info: ParachainInfoConfig { parachain_id: id },
teyrchain_info: TeyrChainInfoConfig { teyrchain_id: id },
collator_selection: CollatorSelectionConfig {
invulnerables: invulnerables.iter().cloned().map(|(acc, _)| acc).collect::<Vec<_>>(),
candidacy_bond: EXISTENTIAL_DEPOSIT * 16,
@@ -86,7 +86,7 @@ fn testnet_genesis(
})
.collect::<Vec<_>>(),
},
polkadot_xcm: PolkadotXcmConfig { safe_xcm_version: Some(SAFE_XCM_VERSION) },
pezkuwi_xcm: PezkuwiXcmConfig { safe_xcm_version: Some(SAFE_XCM_VERSION) },
sudo: SudoConfig { key: Some(root) },
})
}
@@ -113,7 +113,7 @@ fn local_testnet_genesis() -> Value {
// Sudo: Alith.
let root = AccountId::from(hex!("f24FF3a9CF04c71Dbc94D0b566f7A27B94566cac"));
testnet_genesis(invulnerables, endowed_accounts, root, PARACHAIN_ID.into())
testnet_genesis(invulnerables, endowed_accounts, root, TEYRCHAIN_ID.into())
}
fn development_config_genesis() -> Value {
@@ -167,17 +167,17 @@ mod tests {
// Top-level keys present
for k in
["balances", "parachainInfo", "collatorSelection", "session", "polkadotXcm", "sudo"]
["balances", "teyrchainInfo", "collatorSelection", "session", "pezkuwiXcm", "sudo"]
{
assert!(v.get(k).is_some(), "{k} missing");
}
// ParachainId
assert_eq!(v["parachainInfo"]["parachainId"], json!(PARACHAIN_ID), "wrong parachain id");
// TeyrChainId
assert_eq!(v["teyrchainInfo"]["teyrchainId"], json!(TEYRCHAIN_ID), "wrong teyrchain id");
// XCM version
assert_eq!(
v["polkadotXcm"]["safeXcmVersion"],
v["pezkuwiXcm"]["safeXcmVersion"],
json!(Some(SAFE_XCM_VERSION)),
"wrong SAFE_XCM_VERSION"
);
+33 -33
View File
@@ -16,11 +16,11 @@ mod genesis_config_presets;
mod types;
mod weights;
use frame_support::{
use pezframe_support::{
traits::OnFinalize,
weights::{WeightToFeeCoefficient, WeightToFeeCoefficients, WeightToFeePolynomial},
};
pub use genesis_config_presets::PARACHAIN_ID;
pub use genesis_config_presets::TEYRCHAIN_ID;
use smallvec::smallvec;
pub use sp_consensus_aura::sr25519::AuthorityId as AuraId;
use sp_core::H160;
@@ -37,7 +37,7 @@ use sp_std::prelude::{Vec, *};
use sp_version::NativeVersion;
use crate::{
configs::pallet_custom_origins,
configs::pezpallet_custom_origins,
constants::{currency::MILLICENTS, POLY_DEGREE, P_FACTOR, Q_FACTOR, VERSION},
weights::ExtrinsicBaseWeight,
};
@@ -110,9 +110,9 @@ impl fp_self_contained::SelfContainedCall for RuntimeCall {
info: Self::SignedInfo,
) -> Option<sp_runtime::DispatchResultWithInfo<PostDispatchInfoOf<Self>>> {
match self {
call @ RuntimeCall::Ethereum(pallet_ethereum::Call::transact { .. }) =>
call @ RuntimeCall::Ethereum(pezpallet_ethereum::Call::transact { .. }) =>
Some(call.dispatch(RuntimeOrigin::from(
pallet_ethereum::RawOrigin::EthereumTransaction(info),
pezpallet_ethereum::RawOrigin::EthereumTransaction(info),
))),
_ => None,
}
@@ -193,7 +193,7 @@ pub fn native_version() -> NativeVersion {
NativeVersion { runtime_version: VERSION, can_author_with: Default::default() }
}
use openzeppelin_pallet_abstractions_proc::openzeppelin_construct_runtime;
use openzeppelin_pezpallet_abstractions_proc::openzeppelin_construct_runtime;
#[cfg(not(feature = "tanssi"))]
#[openzeppelin_construct_runtime]
@@ -227,7 +227,7 @@ mod runtime {
struct EVM;
}
use openzeppelin_pallet_abstractions_proc::openzeppelin_runtime_apis;
use openzeppelin_pezpallet_abstractions_proc::openzeppelin_runtime_apis;
#[cfg(not(feature = "tanssi"))]
#[openzeppelin_runtime_apis]
@@ -262,7 +262,7 @@ mod apis {
mod system {
type Executive = Executive;
type System = System;
type ParachainSystem = ParachainSystem;
type ParachainSystem = TeyrChainSystem;
type RuntimeVersion = VERSION;
type AccountId = AccountId;
type Nonce = Nonce;
@@ -271,13 +271,13 @@ mod apis {
}
mod benchmarks {
type AllPalletsWithSystem = AllPalletsWithSystem;
type AllPalletsWithSystem = AllPezpalletsWithSystem;
type Assets = Assets;
type AssetManager = AssetManager;
type AssetType = AssetType;
type RuntimeOrigin = RuntimeOrigin;
type RelayLocation = RelayLocation;
type ParachainSystem = ParachainSystem;
type ParachainSystem = TeyrChainSystem;
type System = System;
type ExistentialDeposit = ExistentialDeposit;
type AssetId = AssetId;
@@ -318,7 +318,7 @@ mod apis {
mod system {
type Executive = Executive;
type System = System;
type ParachainSystem = ParachainSystem;
type ParachainSystem = TeyrChainSystem;
type RuntimeVersion = VERSION;
type AccountId = AccountId;
type Nonce = Nonce;
@@ -327,13 +327,13 @@ mod apis {
}
mod benchmarks {
type AllPalletsWithSystem = AllPalletsWithSystem;
type AllPalletsWithSystem = AllPezpalletsWithSystem;
type Assets = Assets;
type AssetManager = AssetManager;
type AssetType = AssetType;
type RuntimeOrigin = RuntimeOrigin;
type RelayLocation = RelayLocation;
type ParachainSystem = ParachainSystem;
type ParachainSystem = TeyrChainSystem;
type System = System;
type ExistentialDeposit = ExistentialDeposit;
type AssetId = AssetId;
@@ -352,7 +352,7 @@ mod benchmark;
#[cfg(test)]
mod test {
use frame_support::weights::WeightToFeePolynomial;
use pezframe_support::weights::WeightToFeePolynomial;
use crate::{
constants::{POLY_DEGREE, VERSION},
@@ -380,17 +380,17 @@ mod test {
use ethereum::{LegacyTransaction, TransactionSignature};
use fp_account::AccountId20;
use fp_self_contained::SelfContainedCall;
use frame_support::dispatch::GetDispatchInfo;
use pallet_ethereum::TransactionAction;
use pezframe_support::dispatch::GetDispatchInfo;
use pezpallet_ethereum::TransactionAction;
use sp_core::{H160, H256, U256};
use crate::{Runtime, RuntimeCall, RuntimeOrigin};
fn get_transaction() -> pallet_ethereum::Transaction {
fn get_transaction() -> pezpallet_ethereum::Transaction {
let mut input = vec![];
let data = "095ea7b30000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000000000000000000000000001b1ae4d6e2ef5000000".as_bytes();
input.extend_from_slice(data);
pallet_ethereum::Transaction::Legacy(LegacyTransaction {
pezpallet_ethereum::Transaction::Legacy(LegacyTransaction {
nonce: U256::from_dec_str("842").unwrap(),
gas_price: U256::from_dec_str("35540887252").unwrap(),
gas_limit: U256::from_dec_str("500000").unwrap(),
@@ -416,7 +416,7 @@ mod test {
#[test]
fn test_is_self_contained_ethereum() {
let call = RuntimeCall::Ethereum(pallet_ethereum::Call::transact {
let call = RuntimeCall::Ethereum(pezpallet_ethereum::Call::transact {
transaction: get_transaction(),
});
assert!(call.is_self_contained())
@@ -424,7 +424,7 @@ mod test {
#[test]
fn test_is_not_self_contained() {
let call = RuntimeCall::Balances(pallet_balances::Call::burn {
let call = RuntimeCall::Balances(pezpallet_balances::Call::burn {
value: 1,
keep_alive: true,
});
@@ -433,7 +433,7 @@ mod test {
#[test]
fn test_check_self_contained() {
let call = RuntimeCall::Ethereum(pallet_ethereum::Call::transact {
let call = RuntimeCall::Ethereum(pezpallet_ethereum::Call::transact {
transaction: get_transaction(),
});
assert!(call.check_self_contained().is_some());
@@ -442,7 +442,7 @@ mod test {
#[test]
fn test_check_not_self_contained() {
let call = RuntimeCall::Balances(pallet_balances::Call::burn {
let call = RuntimeCall::Balances(pezpallet_balances::Call::burn {
value: 1,
keep_alive: true,
});
@@ -452,7 +452,7 @@ mod test {
#[test]
fn test_validate_self_contained() {
let call = RuntimeCall::Ethereum(pallet_ethereum::Call::transact {
let call = RuntimeCall::Ethereum(pezpallet_ethereum::Call::transact {
transaction: get_transaction(),
});
let info = call.get_dispatch_info();
@@ -460,7 +460,7 @@ mod test {
sp_io::TestExternalities::default().execute_with(|| {
let addr =
H160::from_str("0x78DFFE34196A5987fb73fb9bbfd55a2A33e467Fb").unwrap();
let _ = pallet_balances::Pallet::<Runtime>::force_set_balance(
let _ = pezpallet_balances::Pallet::<Runtime>::force_set_balance(
RuntimeOrigin::root(),
AccountId20(addr.0),
90000000000000000,
@@ -476,7 +476,7 @@ mod test {
#[test]
fn test_validate_not_self_contained() {
let call = RuntimeCall::Balances(pallet_balances::Call::burn {
let call = RuntimeCall::Balances(pezpallet_balances::Call::burn {
value: 1,
keep_alive: true,
});
@@ -495,7 +495,7 @@ mod test {
#[test]
fn test_pre_dispatch_self_contained() {
let call = RuntimeCall::Ethereum(pallet_ethereum::Call::transact {
let call = RuntimeCall::Ethereum(pezpallet_ethereum::Call::transact {
transaction: get_transaction(),
});
let info = call.get_dispatch_info();
@@ -504,14 +504,14 @@ mod test {
let addr =
H160::from_str("0x78DFFE34196A5987fb73fb9bbfd55a2A33e467Fb").unwrap();
let who = AccountId20(addr.0);
let _ = pallet_balances::Pallet::<Runtime>::force_set_balance(
let _ = pezpallet_balances::Pallet::<Runtime>::force_set_balance(
RuntimeOrigin::root(),
who,
90000000000000000,
);
// I do not know any other way to increase nonce
for _ in 0..842 {
frame_system::Pallet::<Runtime>::inc_account_nonce(who);
pezframe_system::Pallet::<Runtime>::inc_account_nonce(who);
}
let () = call
.pre_dispatch_self_contained(&addr, &info, 0)
@@ -522,7 +522,7 @@ mod test {
#[test]
fn test_pre_dispatch_not_self_contained() {
let call = RuntimeCall::Balances(pallet_balances::Call::burn {
let call = RuntimeCall::Balances(pezpallet_balances::Call::burn {
value: 1,
keep_alive: true,
});
@@ -541,7 +541,7 @@ mod test {
#[test]
fn test_apply_self_contained() {
let call = RuntimeCall::Ethereum(pallet_ethereum::Call::transact {
let call = RuntimeCall::Ethereum(pezpallet_ethereum::Call::transact {
transaction: get_transaction(),
});
@@ -549,14 +549,14 @@ mod test {
let addr =
H160::from_str("0x78DFFE34196A5987fb73fb9bbfd55a2A33e467Fb").unwrap();
let who = AccountId20(addr.0);
let _ = pallet_balances::Pallet::<Runtime>::force_set_balance(
let _ = pezpallet_balances::Pallet::<Runtime>::force_set_balance(
RuntimeOrigin::root(),
who,
90000000000000000,
);
// I do not know any other way to increase nonce
for _ in 0..842 {
frame_system::Pallet::<Runtime>::inc_account_nonce(who);
pezframe_system::Pallet::<Runtime>::inc_account_nonce(who);
}
let _ = call
.apply_self_contained(addr)
@@ -567,7 +567,7 @@ mod test {
#[test]
fn test_apply_not_self_contained() {
let call = RuntimeCall::Balances(pallet_balances::Call::burn {
let call = RuntimeCall::Balances(pezpallet_balances::Call::burn {
value: 1,
keep_alive: true,
});
+6 -6
View File
@@ -1,11 +1,11 @@
use core::marker::PhantomData;
use pallet_evm::{
use pezpallet_evm::{
IsPrecompileResult, Precompile, PrecompileHandle, PrecompileResult, PrecompileSet,
};
use pallet_evm_precompile_modexp::Modexp;
use pallet_evm_precompile_sha3fips::Sha3FIPS256;
use pallet_evm_precompile_simple::{ECRecover, ECRecoverPublicKey, Identity, Ripemd160, Sha256};
use pezpallet_evm_precompile_modexp::Modexp;
use pezpallet_evm_precompile_sha3fips::Sha3FIPS256;
use pezpallet_evm_precompile_simple::{ECRecover, ECRecoverPublicKey, Identity, Ripemd160, Sha256};
use sp_core::H160;
#[derive(Default)]
@@ -13,7 +13,7 @@ pub struct OpenZeppelinPrecompiles<R>(PhantomData<R>);
impl<R> OpenZeppelinPrecompiles<R>
where
R: pallet_evm::Config,
R: pezpallet_evm::Config,
{
pub fn new() -> Self {
Self(Default::default())
@@ -25,7 +25,7 @@ where
}
impl<R> PrecompileSet for OpenZeppelinPrecompiles<R>
where
R: pallet_evm::Config,
R: pezpallet_evm::Config,
{
fn execute(&self, handle: &mut impl PrecompileHandle) -> Option<PrecompileResult> {
match handle.code_address() {
+40 -40
View File
@@ -1,13 +1,13 @@
use fp_account::EthereumSignature;
#[cfg(not(feature = "tanssi"))]
use frame_support::traits::EitherOfDiverse;
use frame_support::{parameter_types, traits::InstanceFilter, weights::Weight, PalletId};
use pezframe_support::traits::EitherOfDiverse;
use pezframe_support::{parameter_types, traits::InstanceFilter, weights::Weight, PezpalletId};
#[cfg(not(feature = "tanssi"))]
use frame_system::EnsureRoot;
use pezframe_system::EnsureRoot;
#[cfg(not(feature = "tanssi"))]
use pallet_xcm::{EnsureXcm, IsVoiceOfBody};
use pezpallet_xcm::{EnsureXcm, IsVoiceOfBody};
use parity_scale_codec::{Decode, DecodeWithMemTracking, Encode, MaxEncodedLen};
use polkadot_runtime_common::impls::{
use pezkuwi_runtime_common::impls::{
LocatableAssetConverter, VersionedLocatableAsset, VersionedLocationConverter,
};
use scale_info::TypeInfo;
@@ -32,11 +32,11 @@ use crate::{
use crate::{
configs::{xcm_config::RelayLocation, StakingAdminBodyId},
constants::{
BLOCK_PROCESSING_VELOCITY, RELAY_CHAIN_SLOT_DURATION_MILLIS, UNINCLUDED_SEGMENT_CAPACITY,
BLOCK_PTYRESSING_VELOCITY, RELAY_CHAIN_SLOT_DURATION_MILLIS, UNINCLUDED_SEGMENT_CAPACITY,
},
};
pub use crate::{
constants::VERSION, AllPalletsWithSystem, OpenZeppelinPrecompiles, Runtime,
constants::VERSION, AllPezpalletsWithSystem, OpenZeppelinPrecompiles, Runtime,
RuntimeBlockWeights, RuntimeCall, Treasury, XcmpQueue,
};
@@ -75,32 +75,32 @@ pub type Header = generic::Header<BlockNumber, BlakeTwo256>;
pub type Block = generic::Block<Header, UncheckedExtrinsic>;
/// The TransactionExtension to the basic transaction logic.
pub type TxExtension = cumulus_pallet_weight_reclaim::StorageWeightReclaim<
pub type TxExtension = cumulus_pezpallet_weight_reclaim::StorageWeightReclaim<
Runtime,
(
frame_system::CheckNonZeroSender<Runtime>,
frame_system::CheckSpecVersion<Runtime>,
frame_system::CheckTxVersion<Runtime>,
frame_system::CheckGenesis<Runtime>,
frame_system::CheckEra<Runtime>,
frame_system::CheckNonce<Runtime>,
frame_system::CheckWeight<Runtime>,
pallet_asset_tx_payment::ChargeAssetTxPayment<Runtime>,
frame_metadata_hash_extension::CheckMetadataHash<Runtime>,
pezframe_system::CheckNonZeroSender<Runtime>,
pezframe_system::CheckSpecVersion<Runtime>,
pezframe_system::CheckTxVersion<Runtime>,
pezframe_system::CheckGenesis<Runtime>,
pezframe_system::CheckEra<Runtime>,
pezframe_system::CheckNonce<Runtime>,
pezframe_system::CheckWeight<Runtime>,
pezpallet_asset_tx_payment::ChargeAssetTxPayment<Runtime>,
pezframe_metadata_hash_extension::CheckMetadataHash<Runtime>,
),
>;
/// Executive: handles dispatch to the various modules.
pub type Executive = frame_executive::Executive<
pub type Executive = pezframe_executive::Executive<
Runtime,
Block,
frame_system::ChainContext<Runtime>,
pezframe_system::ChainContext<Runtime>,
Runtime,
AllPalletsWithSystem,
AllPezpalletsWithSystem,
>;
/// Price For Sibling Parachain Delivery
pub type PriceForSiblingParachainDelivery = polkadot_runtime_common::xcm_sender::ExponentialPrice<
/// Price For Sibling TeyrChain Delivery
pub type PriceForSiblingTeyrChainDelivery = pezkuwi_runtime_common::xcm_sender::ExponentialPrice<
FeeAssetId,
ToSiblingBaseDeliveryFee,
TransactionByteFee,
@@ -109,10 +109,10 @@ pub type PriceForSiblingParachainDelivery = polkadot_runtime_common::xcm_sender:
/// Configures the number of blocks that can be created without submission of validity proof to the relay chain
#[cfg(not(feature = "tanssi"))]
pub type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook<
pub type ConsensusHook = cumulus_pezpallet_aura_ext::FixedVelocityConsensusHook<
Runtime,
RELAY_CHAIN_SLOT_DURATION_MILLIS,
BLOCK_PROCESSING_VELOCITY,
BLOCK_PTYRESSING_VELOCITY,
UNINCLUDED_SEGMENT_CAPACITY,
>;
@@ -124,15 +124,15 @@ pub type CollatorSelectionUpdateOrigin = EitherOfDiverse<
EnsureXcm<IsVoiceOfBody<RelayLocation, StakingAdminBodyId>>,
>;
/// These aliases are describing the Beneficiary and AssetKind for the Treasury pallet
/// These aliases are describing the Beneficiary and AssetKind for the Treasury pezpallet
pub type Beneficiary = VersionedLocation;
pub type AssetKind = VersionedLocatableAsset;
/// This is a type that describes how we should transfer bounties from treasury pallet
/// This is a type that describes how we should transfer bounties from treasury pezpallet
pub type TreasuryPaymaster = PayOverXcm<
TreasuryInteriorLocation,
xcm_config::XcmRouter,
crate::PolkadotXcm,
crate::PezkuwiXcm,
ConstU32<{ 6 * HOURS }>,
Beneficiary,
AssetKind,
@@ -141,7 +141,7 @@ pub type TreasuryPaymaster = PayOverXcm<
>;
/// The type used to represent the kinds of proxying allowed.
/// If you are adding new pallets, consider adding new ProxyType variant
/// If you are adding new pezpallets, consider adding new ProxyType variant
#[derive(
Copy,
Clone,
@@ -177,7 +177,7 @@ impl InstanceFilter<RuntimeCall> for ProxyType {
ProxyType::NonTransfer => !matches!(c, RuntimeCall::Balances { .. }),
ProxyType::CancelProxy => matches!(
c,
RuntimeCall::Proxy(pallet_proxy::Call::reject_announcement { .. })
RuntimeCall::Proxy(pezpallet_proxy::Call::reject_announcement { .. })
| RuntimeCall::Multisig { .. }
),
#[cfg(not(feature = "tanssi"))]
@@ -191,11 +191,11 @@ impl InstanceFilter<RuntimeCall> for ProxyType {
// Getter types used in OpenZeppelinRuntime configuration
parameter_types! {
pub const Version: RuntimeVersion = VERSION;
pub const TreasuryPalletId: PalletId = PalletId(*b"py/trsry");
pub const TreasuryPezpalletId: PezpalletId = PezpalletId(*b"py/trsry");
pub TreasuryAccount: AccountId = Treasury::account_id();
// The asset's interior location for the paying account. This is the Treasury
// pallet instance (which sits at index 13).
pub TreasuryInteriorLocation: InteriorLocation = PalletInstance(13).into();
// pezpallet instance (which sits at index 13).
pub TreasuryInteriorLocation: InteriorLocation = PezpalletInstance(13).into();
pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block;
pub PrecompilesValue: OpenZeppelinPrecompiles<Runtime> = OpenZeppelinPrecompiles::<_>::new();
}
@@ -203,7 +203,7 @@ parameter_types! {
#[cfg(test)]
mod test {
mod filter {
use frame_support::traits::InstanceFilter;
use pezframe_support::traits::InstanceFilter;
use sp_core::H256;
use crate::{types::ProxyType, AssetManager, RuntimeCall};
@@ -212,7 +212,7 @@ mod test {
#[cfg(not(feature = "tanssi"))]
fn test_filter_any() {
let call = RuntimeCall::CollatorSelection(
pallet_collator_selection::Call::set_desired_candidates { max: 10 },
pezpallet_collator_selection::Call::set_desired_candidates { max: 10 },
);
let proxy_type = ProxyType::Any;
assert!(proxy_type.filter(&call));
@@ -223,11 +223,11 @@ mod test {
fn test_filter_nontransfer() {
let proxy_type = ProxyType::NonTransfer;
let valid_call = RuntimeCall::CollatorSelection(
pallet_collator_selection::Call::set_desired_candidates { max: 10 },
pezpallet_collator_selection::Call::set_desired_candidates { max: 10 },
);
assert!(proxy_type.filter(&valid_call));
let invalid_call =
RuntimeCall::Balances(pallet_balances::Call::burn { value: 1, keep_alive: true });
RuntimeCall::Balances(pezpallet_balances::Call::burn { value: 1, keep_alive: true });
assert!(!proxy_type.filter(&invalid_call));
}
@@ -236,10 +236,10 @@ mod test {
fn test_filter_cancel_proxy() {
let proxy_type = ProxyType::CancelProxy;
let invalid_call = RuntimeCall::CollatorSelection(
pallet_collator_selection::Call::set_desired_candidates { max: 10 },
pezpallet_collator_selection::Call::set_desired_candidates { max: 10 },
);
assert!(!proxy_type.filter(&invalid_call));
let valid_call = RuntimeCall::Proxy(pallet_proxy::Call::reject_announcement {
let valid_call = RuntimeCall::Proxy(pezpallet_proxy::Call::reject_announcement {
delegate: AssetManager::account_id(),
call_hash: H256::zero(),
});
@@ -251,11 +251,11 @@ mod test {
fn test_filter_collator() {
let proxy_type = ProxyType::Collator;
let valid_call = RuntimeCall::CollatorSelection(
pallet_collator_selection::Call::set_desired_candidates { max: 10 },
pezpallet_collator_selection::Call::set_desired_candidates { max: 10 },
);
assert!(proxy_type.filter(&valid_call));
let invalid_call =
RuntimeCall::Balances(pallet_balances::Call::burn { value: 1, keep_alive: true });
RuntimeCall::Balances(pezpallet_balances::Call::burn { value: 1, keep_alive: true });
assert!(!proxy_type.filter(&invalid_call));
}
@@ -1,4 +1,4 @@
// This file is part of Substrate.
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
@@ -16,7 +16,7 @@
// limitations under the License.
pub mod constants {
use frame_support::{
use pezframe_support::{
parameter_types,
weights::{constants, Weight},
};
@@ -29,7 +29,7 @@ pub mod constants {
#[cfg(test)]
mod test_weights {
use frame_support::weights::constants;
use pezframe_support::weights::constants;
/// Checks that the weight exists and is sane.
// NOTE: If this test fails but you are sure that the generated values are fine,
@@ -1,5 +1,5 @@
//! Autogenerated weights for `cumulus_pallet_parachain_system`
//! Autogenerated weights for `cumulus_pezpallet_teyrchain_system`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,36 +10,36 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-cumulus_pallet_parachain_system.json
// --pallet=cumulus_pallet_parachain_system
// --json-file=benchmarking/results/results-cumulus_pezpallet_teyrchain_system.json
// --pezpallet=cumulus_pezpallet_teyrchain_system
// --chain=dev
// --output=benchmarking/new-benchmarks/cumulus_pallet_parachain_system.rs
// --output=benchmarking/new-benchmarks/cumulus_pezpallet_teyrchain_system.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `cumulus_pallet_parachain_system`.
/// Weight functions for `cumulus_pezpallet_teyrchain_system`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> cumulus_pallet_parachain_system::WeightInfo for WeightInfo<T> {
/// Storage: `ParachainSystem::LastDmqMqcHead` (r:1 w:1)
/// Proof: `ParachainSystem::LastDmqMqcHead` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
impl<T: pezframe_system::Config> cumulus_pezpallet_teyrchain_system::WeightInfo for WeightInfo<T> {
/// Storage: `TeyrChainSystem::LastDmqMqcHead` (r:1 w:1)
/// Proof: `TeyrChainSystem::LastDmqMqcHead` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
/// Storage: `MessageQueue::ServiceHead` (r:1 w:1)
/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
/// Storage: `ParachainSystem::ProcessedDownwardMessages` (r:0 w:1)
/// Proof: `ParachainSystem::ProcessedDownwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::ProcessedDownwardMessages` (r:0 w:1)
/// Proof: `TeyrChainSystem::ProcessedDownwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `MessageQueue::Pages` (r:0 w:1000)
/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`)
/// The range of component `n` is `[0, 1000]`.
@@ -1,5 +1,5 @@
//! Autogenerated weights for `cumulus_pallet_xcmp_queue`
//! Autogenerated weights for `cumulus_pezpallet_xcmp_queue`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-cumulus_pallet_xcmp_queue.json
// --pallet=cumulus_pallet_xcmp_queue
// --json-file=benchmarking/results/results-cumulus_pezpallet_xcmp_queue.json
// --pezpallet=cumulus_pezpallet_xcmp_queue
// --chain=dev
// --output=benchmarking/new-benchmarks/cumulus_pallet_xcmp_queue.rs
// --output=benchmarking/new-benchmarks/cumulus_pezpallet_xcmp_queue.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `cumulus_pallet_xcmp_queue`.
/// Weight functions for `cumulus_pezpallet_xcmp_queue`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> cumulus_pallet_xcmp_queue::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> cumulus_pezpallet_xcmp_queue::WeightInfo for WeightInfo<T> {
/// Storage: `XcmpQueue::QueueConfig` (r:1 w:1)
/// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`)
fn set_config_with_u32() -> Weight {
@@ -1,4 +1,4 @@
// This file is part of Substrate.
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
@@ -16,7 +16,7 @@
// limitations under the License.
pub mod constants {
use frame_support::{
use pezframe_support::{
parameter_types,
weights::{constants, Weight},
};
@@ -29,7 +29,7 @@ pub mod constants {
#[cfg(test)]
mod test_weights {
use frame_support::weights::constants;
use pezframe_support::weights::constants;
/// Checks that the weight exists and is sane.
// NOTE: If this test fails but you are sure that the generated values are fine,
+24 -24
View File
@@ -1,4 +1,4 @@
// This file is part of Substrate.
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
@@ -18,32 +18,32 @@
//! Expose the auto generated weight files.
pub mod block_weights;
pub mod cumulus_pallet_parachain_system;
pub mod cumulus_pallet_xcmp_queue;
pub mod cumulus_pezpallet_teyrchain_system;
pub mod cumulus_pezpallet_xcmp_queue;
pub mod extrinsic_weights;
pub mod pallet_asset_manager;
pub mod pallet_assets;
pub mod pallet_balances;
pub mod pezpallet_asset_manager;
pub mod pezpallet_assets;
pub mod pezpallet_balances;
#[cfg(not(feature = "tanssi"))]
pub mod pallet_collator_selection;
pub mod pallet_conviction_voting;
pub mod pallet_evm;
pub mod pallet_message_queue;
pub mod pallet_multisig;
pub mod pallet_preimage;
pub mod pallet_proxy;
pub mod pallet_referenda;
pub mod pallet_scheduler;
pub mod pezpallet_collator_selection;
pub mod pezpallet_conviction_voting;
pub mod pezpallet_evm;
pub mod pezpallet_message_queue;
pub mod pezpallet_multisig;
pub mod pezpallet_preimage;
pub mod pezpallet_proxy;
pub mod pezpallet_referenda;
pub mod pezpallet_scheduler;
#[cfg(not(feature = "tanssi"))]
pub mod pallet_session;
pub mod pallet_sudo;
pub mod pallet_timestamp;
pub mod pallet_treasury;
pub mod pallet_utility;
pub mod pallet_whitelist;
pub mod pallet_xcm;
pub mod pallet_xcm_transactor;
pub mod pallet_xcm_weight_trader;
pub mod pezpallet_session;
pub mod pezpallet_sudo;
pub mod pezpallet_timestamp;
pub mod pezpallet_treasury;
pub mod pezpallet_utility;
pub mod pezpallet_whitelist;
pub mod pezpallet_xcm;
pub mod pezpallet_xcm_transactor;
pub mod pezpallet_xcm_weight_trader;
pub mod paritydb_weights;
pub mod rocksdb_weights;
pub use block_weights::constants::BlockExecutionWeight;
@@ -1,4 +1,4 @@
// This file is part of Substrate.
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
@@ -16,7 +16,7 @@
// limitations under the License.
pub mod constants {
use frame_support::{
use pezframe_support::{
parameter_types,
weights::{constants, RuntimeDbWeight},
};
@@ -32,7 +32,7 @@ pub mod constants {
#[cfg(test)]
mod test_db_weights {
use frame_support::weights::constants;
use pezframe_support::weights::constants;
use super::constants::ParityDbWeight as W;
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_asset_manager`
//! Autogenerated weights for `pezpallet_asset_manager`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_asset_manager.json
// --pallet=pallet_asset_manager
// --json-file=benchmarking/results/results-pezpallet_asset_manager.json
// --pezpallet=pezpallet_asset_manager
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_asset_manager.rs
// --output=benchmarking/new-benchmarks/pezpallet_asset_manager.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_asset_manager`.
/// Weight functions for `pezpallet_asset_manager`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_asset_manager::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_asset_manager::WeightInfo for WeightInfo<T> {
/// Storage: `AssetManager::AssetIdType` (r:1 w:1)
/// Proof: `AssetManager::AssetIdType` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Assets::Asset` (r:1 w:1)
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_assets`
//! Autogenerated weights for `pezpallet_assets`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_assets.json
// --pallet=pallet_assets
// --json-file=benchmarking/results/results-pezpallet_assets.json
// --pezpallet=pezpallet_assets
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_assets.rs
// --output=benchmarking/new-benchmarks/pezpallet_assets.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_assets`.
/// Weight functions for `pezpallet_assets`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_assets::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_assets::WeightInfo for WeightInfo<T> {
/// Storage: `Assets::Asset` (r:1 w:1)
/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(174), added: 2649, mode: `MaxEncodedLen`)
/// Storage: `Assets::NextAssetId` (r:1 w:0)
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_balances`
//! Autogenerated weights for `pezpallet_balances`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_balances.json
// --pallet=pallet_balances
// --json-file=benchmarking/results/results-pezpallet_balances.json
// --pezpallet=pezpallet_balances
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_balances.rs
// --output=benchmarking/new-benchmarks/pezpallet_balances.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_balances`.
/// Weight functions for `pezpallet_balances`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_balances::WeightInfo for WeightInfo<T> {
/// Storage: `System::Account` (r:1 w:1)
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
fn transfer_allow_death() -> Weight {
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_collator_selection`
//! Autogenerated weights for `pezpallet_collator_selection`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_collator_selection.json
// --pallet=pallet_collator_selection
// --json-file=benchmarking/results/results-pezpallet_collator_selection.json
// --pezpallet=pezpallet_collator_selection
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_collator_selection.rs
// --output=benchmarking/new-benchmarks/pezpallet_collator_selection.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_collator_selection`.
/// Weight functions for `pezpallet_collator_selection`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_collator_selection::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_collator_selection::WeightInfo for WeightInfo<T> {
/// Storage: `Session::NextKeys` (r:20 w:0)
/// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `CollatorSelection::Invulnerables` (r:0 w:1)
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_conviction_voting`
//! Autogenerated weights for `pezpallet_conviction_voting`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_conviction_voting.json
// --pallet=pallet_conviction_voting
// --json-file=benchmarking/results/results-pezpallet_conviction_voting.json
// --pezpallet=pezpallet_conviction_voting
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_conviction_voting.rs
// --output=benchmarking/new-benchmarks/pezpallet_conviction_voting.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_conviction_voting`.
/// Weight functions for `pezpallet_conviction_voting`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_conviction_voting::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_conviction_voting::WeightInfo for WeightInfo<T> {
/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(912), added: 3387, mode: `MaxEncodedLen`)
/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_evm`
//! Autogenerated weights for `pezpallet_evm`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_evm.json
// --pallet=pallet_evm
// --json-file=benchmarking/results/results-pezpallet_evm.json
// --pezpallet=pezpallet_evm
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_evm.rs
// --output=benchmarking/new-benchmarks/pezpallet_evm.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_evm`.
/// Weight functions for `pezpallet_evm`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_evm::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_evm::WeightInfo for WeightInfo<T> {
fn withdraw() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_message_queue`
//! Autogenerated weights for `pezpallet_message_queue`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_message_queue.json
// --pallet=pallet_message_queue
// --json-file=benchmarking/results/results-pezpallet_message_queue.json
// --pezpallet=pezpallet_message_queue
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_message_queue.rs
// --output=benchmarking/new-benchmarks/pezpallet_message_queue.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_message_queue`.
/// Weight functions for `pezpallet_message_queue`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_message_queue::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_message_queue::WeightInfo for WeightInfo<T> {
/// Storage: `MessageQueue::ServiceHead` (r:1 w:0)
/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
/// Storage: `MessageQueue::BookStateFor` (r:2 w:2)
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_multisig`
//! Autogenerated weights for `pezpallet_multisig`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_multisig.json
// --pallet=pallet_multisig
// --json-file=benchmarking/results/results-pezpallet_multisig.json
// --pezpallet=pezpallet_multisig
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_multisig.rs
// --output=benchmarking/new-benchmarks/pezpallet_multisig.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_multisig`.
/// Weight functions for `pezpallet_multisig`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_multisig::WeightInfo for WeightInfo<T> {
/// The range of component `z` is `[0, 10000]`.
fn as_multi_threshold_1(z: u32, ) -> Weight {
// Proof Size summary in bytes:
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_preimage`
//! Autogenerated weights for `pezpallet_preimage`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_preimage.json
// --pallet=pallet_preimage
// --json-file=benchmarking/results/results-pezpallet_preimage.json
// --pezpallet=pezpallet_preimage
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_preimage.rs
// --output=benchmarking/new-benchmarks/pezpallet_preimage.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_preimage`.
/// Weight functions for `pezpallet_preimage`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_preimage::WeightInfo for WeightInfo<T> {
/// Storage: `Preimage::StatusFor` (r:1 w:0)
/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(79), added: 2554, mode: `MaxEncodedLen`)
/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_proxy`
//! Autogenerated weights for `pezpallet_proxy`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_proxy.json
// --pallet=pallet_proxy
// --json-file=benchmarking/results/results-pezpallet_proxy.json
// --pezpallet=pezpallet_proxy
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_proxy.rs
// --output=benchmarking/new-benchmarks/pezpallet_proxy.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_proxy`.
/// Weight functions for `pezpallet_proxy`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_proxy::WeightInfo for WeightInfo<T> {
/// Storage: `Proxy::Proxies` (r:1 w:0)
/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(845), added: 3320, mode: `MaxEncodedLen`)
/// The range of component `p` is `[1, 31]`.
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_referenda`
//! Autogenerated weights for `pezpallet_referenda`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_referenda.json
// --pallet=pallet_referenda
// --json-file=benchmarking/results/results-pezpallet_referenda.json
// --pezpallet=pezpallet_referenda
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_referenda.rs
// --output=benchmarking/new-benchmarks/pezpallet_referenda.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_referenda`.
/// Weight functions for `pezpallet_referenda`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_referenda::WeightInfo for WeightInfo<T> {
/// Storage: `Referenda::ReferendumCount` (r:1 w:1)
/// Proof: `Referenda::ReferendumCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `Scheduler::Agenda` (r:1 w:1)
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_scheduler`
//! Autogenerated weights for `pezpallet_scheduler`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_scheduler.json
// --pallet=pallet_scheduler
// --json-file=benchmarking/results/results-pezpallet_scheduler.json
// --pezpallet=pezpallet_scheduler
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_scheduler.rs
// --output=benchmarking/new-benchmarks/pezpallet_scheduler.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_scheduler`.
/// Weight functions for `pezpallet_scheduler`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_scheduler::WeightInfo for WeightInfo<T> {
/// Storage: `Scheduler::IncompleteSince` (r:1 w:1)
/// Proof: `Scheduler::IncompleteSince` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
fn service_agendas_base() -> Weight {
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_session`
//! Autogenerated weights for `pezpallet_session`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_session.json
// --pallet=pallet_session
// --json-file=benchmarking/results/results-pezpallet_session.json
// --pezpallet=pezpallet_session
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_session.rs
// --output=benchmarking/new-benchmarks/pezpallet_session.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_session`.
/// Weight functions for `pezpallet_session`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_session::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_session::WeightInfo for WeightInfo<T> {
/// Storage: `Session::NextKeys` (r:1 w:1)
/// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Session::KeyOwner` (r:1 w:1)
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_sudo`
//! Autogenerated weights for `pezpallet_sudo`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_sudo.json
// --pallet=pallet_sudo
// --json-file=benchmarking/results/results-pezpallet_sudo.json
// --pezpallet=pezpallet_sudo
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_sudo.rs
// --output=benchmarking/new-benchmarks/pezpallet_sudo.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_sudo`.
/// Weight functions for `pezpallet_sudo`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_sudo::WeightInfo for WeightInfo<T> {
/// Storage: `Sudo::Key` (r:1 w:1)
/// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(20), added: 515, mode: `MaxEncodedLen`)
fn set_key() -> Weight {
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_timestamp`
//! Autogenerated weights for `pezpallet_timestamp`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_timestamp.json
// --pallet=pallet_timestamp
// --json-file=benchmarking/results/results-pezpallet_timestamp.json
// --pezpallet=pezpallet_timestamp
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_timestamp.rs
// --output=benchmarking/new-benchmarks/pezpallet_timestamp.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_timestamp`.
/// Weight functions for `pezpallet_timestamp`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_timestamp::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_timestamp::WeightInfo for WeightInfo<T> {
/// Storage: `Timestamp::Now` (r:1 w:1)
/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
/// Storage: `Aura::CurrentSlot` (r:1 w:0)
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_treasury`
//! Autogenerated weights for `pezpallet_treasury`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_treasury.json
// --pallet=pallet_treasury
// --json-file=benchmarking/results/results-pezpallet_treasury.json
// --pezpallet=pezpallet_treasury
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_treasury.rs
// --output=benchmarking/new-benchmarks/pezpallet_treasury.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_treasury`.
/// Weight functions for `pezpallet_treasury`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_treasury::WeightInfo for WeightInfo<T> {
/// Storage: `Treasury::ProposalCount` (r:1 w:1)
/// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `Treasury::Approvals` (r:1 w:1)
@@ -100,20 +100,20 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
}
/// Storage: `Treasury::Spends` (r:1 w:1)
/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(1853), added: 4328, mode: `MaxEncodedLen`)
/// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
/// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1)
/// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainInfo::TeyrChainId` (r:1 w:0)
/// Proof: `TeyrChainInfo::TeyrChainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `PezkuwiXcm::QueryCounter` (r:1 w:1)
/// Proof: `PezkuwiXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
/// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
/// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
/// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::RelevantMessagingState` (r:1 w:0)
/// Proof: `TeyrChainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
/// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
/// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
/// Proof: `XcmpQueue::OutboundXcmpMessages` (`max_values`: None, `max_size`: Some(65570), added: 68045, mode: `MaxEncodedLen`)
/// Storage: `PolkadotXcm::Queries` (r:0 w:1)
/// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::Queries` (r:0 w:1)
/// Proof: `PezkuwiXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn payout() -> Weight {
// Proof Size summary in bytes:
// Measured: `527`
@@ -126,8 +126,8 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
}
/// Storage: `Treasury::Spends` (r:1 w:1)
/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(1853), added: 4328, mode: `MaxEncodedLen`)
/// Storage: `PolkadotXcm::Queries` (r:1 w:1)
/// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::Queries` (r:1 w:1)
/// Proof: `PezkuwiXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn check_status() -> Weight {
// Proof Size summary in bytes:
// Measured: `206`
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_utility`
//! Autogenerated weights for `pezpallet_utility`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_utility.json
// --pallet=pallet_utility
// --json-file=benchmarking/results/results-pezpallet_utility.json
// --pezpallet=pezpallet_utility
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_utility.rs
// --output=benchmarking/new-benchmarks/pezpallet_utility.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_utility`.
/// Weight functions for `pezpallet_utility`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_utility::WeightInfo for WeightInfo<T> {
/// The range of component `c` is `[0, 1000]`.
fn batch(c: u32, ) -> Weight {
// Proof Size summary in bytes:
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_whitelist`
//! Autogenerated weights for `pezpallet_whitelist`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_whitelist.json
// --pallet=pallet_whitelist
// --json-file=benchmarking/results/results-pezpallet_whitelist.json
// --pezpallet=pezpallet_whitelist
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_whitelist.rs
// --output=benchmarking/new-benchmarks/pezpallet_whitelist.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_whitelist`.
/// Weight functions for `pezpallet_whitelist`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_whitelist::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_whitelist::WeightInfo for WeightInfo<T> {
/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
/// Storage: `Preimage::StatusFor` (r:1 w:0)
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_xcm`
//! Autogenerated weights for `pezpallet_xcm`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,30 +10,30 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_xcm.json
// --pallet=pallet_xcm
// --json-file=benchmarking/results/results-pezpallet_xcm.json
// --pezpallet=pezpallet_xcm
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_xcm.rs
// --output=benchmarking/new-benchmarks/pezpallet_xcm.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_xcm`.
/// Weight functions for `pezpallet_xcm`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
/// Storage: `PolkadotXcm::AuthorizedAliases` (r:1 w:1)
/// Proof: `PolkadotXcm::AuthorizedAliases` (`max_values`: None, `max_size`: None, mode: `Measured`)
impl<T: pezframe_system::Config> pezpallet_xcm::WeightInfo for WeightInfo<T> {
/// Storage: `PezkuwiXcm::AuthorizedAliases` (r:1 w:1)
/// Proof: `PezkuwiXcm::AuthorizedAliases` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn add_authorized_alias() -> Weight {
// Proof Size summary in bytes:
// Measured: `498`
@@ -43,8 +43,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `PolkadotXcm::AuthorizedAliases` (r:1 w:1)
/// Proof: `PolkadotXcm::AuthorizedAliases` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::AuthorizedAliases` (r:1 w:1)
/// Proof: `PezkuwiXcm::AuthorizedAliases` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn remove_authorized_alias() -> Weight {
// Proof Size summary in bytes:
// Measured: `537`
@@ -54,10 +54,10 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `TeyrChainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `TeyrChainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
fn send() -> Weight {
// Proof Size summary in bytes:
// Measured: `76`
@@ -78,10 +78,10 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
Weight::from_parts(18_446_744_073_709_551_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
/// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
/// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0)
/// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainInfo::TeyrChainId` (r:1 w:0)
/// Proof: `TeyrChainInfo::TeyrChainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `PezkuwiXcm::ShouldRecordXcm` (r:1 w:0)
/// Proof: `PezkuwiXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `AssetManager::AssetTypeId` (r:2 w:0)
/// Proof: `AssetManager::AssetTypeId` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Assets::Asset` (r:2 w:2)
@@ -92,8 +92,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
/// Storage: `XcmpQueue::DeliveryFeeFactor` (r:1 w:0)
/// Proof: `XcmpQueue::DeliveryFeeFactor` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
/// Storage: `ParachainSystem::RelevantMessagingState` (r:1 w:0)
/// Proof: `ParachainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::RelevantMessagingState` (r:1 w:0)
/// Proof: `TeyrChainSystem::RelevantMessagingState` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
/// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`)
/// Storage: `XcmpQueue::OutboundXcmpMessages` (r:0 w:1)
@@ -108,10 +108,10 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(15))
.saturating_add(T::DbWeight::get().writes(10))
}
/// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
/// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0)
/// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainInfo::TeyrChainId` (r:1 w:0)
/// Proof: `TeyrChainInfo::TeyrChainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `PezkuwiXcm::ShouldRecordXcm` (r:1 w:0)
/// Proof: `PezkuwiXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `AssetManager::AssetTypeId` (r:1 w:0)
/// Proof: `AssetManager::AssetTypeId` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Assets::Asset` (r:1 w:1)
@@ -120,10 +120,10 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`)
/// Storage: `System::Account` (r:1 w:1)
/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`)
/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `TeyrChainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `TeyrChainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
fn transfer_assets() -> Weight {
// Proof Size summary in bytes:
// Measured: `686`
@@ -134,8 +134,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(9))
.saturating_add(T::DbWeight::get().writes(5))
}
/// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0)
/// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::ShouldRecordXcm` (r:1 w:0)
/// Proof: `PezkuwiXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
fn execute() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
@@ -145,8 +145,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(Weight::from_parts(0, 1485))
.saturating_add(T::DbWeight::get().reads(1))
}
/// Storage: `PolkadotXcm::SupportedVersion` (r:0 w:1)
/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::SupportedVersion` (r:0 w:1)
/// Proof: `PezkuwiXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn force_xcm_version() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
@@ -164,16 +164,16 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
Weight::from_parts(3_121_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
/// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1)
/// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1)
/// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `PolkadotXcm::Queries` (r:0 w:1)
/// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::VersionNotifiers` (r:1 w:1)
/// Proof: `PezkuwiXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::QueryCounter` (r:1 w:1)
/// Proof: `PezkuwiXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `TeyrChainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `TeyrChainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::Queries` (r:0 w:1)
/// Proof: `PezkuwiXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn force_subscribe_version_notify() -> Weight {
// Proof Size summary in bytes:
// Measured: `76`
@@ -184,14 +184,14 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(4))
}
/// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1)
/// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `PolkadotXcm::Queries` (r:0 w:1)
/// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::VersionNotifiers` (r:1 w:1)
/// Proof: `PezkuwiXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `TeyrChainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `TeyrChainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::Queries` (r:0 w:1)
/// Proof: `PezkuwiXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn force_unsubscribe_version_notify() -> Weight {
// Proof Size summary in bytes:
// Measured: `170`
@@ -202,8 +202,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(3))
}
/// Storage: `PolkadotXcm::XcmExecutionSuspended` (r:0 w:1)
/// Proof: `PolkadotXcm::XcmExecutionSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::XcmExecutionSuspended` (r:0 w:1)
/// Proof: `PezkuwiXcm::XcmExecutionSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
fn force_suspension() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
@@ -213,8 +213,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `PolkadotXcm::SupportedVersion` (r:5 w:2)
/// Proof: `PolkadotXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::SupportedVersion` (r:5 w:2)
/// Proof: `PezkuwiXcm::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn migrate_supported_version() -> Weight {
// Proof Size summary in bytes:
// Measured: `23`
@@ -225,8 +225,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(2))
}
/// Storage: `PolkadotXcm::VersionNotifiers` (r:5 w:2)
/// Proof: `PolkadotXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::VersionNotifiers` (r:5 w:2)
/// Proof: `PezkuwiXcm::VersionNotifiers` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn migrate_version_notifiers() -> Weight {
// Proof Size summary in bytes:
// Measured: `27`
@@ -237,8 +237,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(2))
}
/// Storage: `PolkadotXcm::VersionNotifyTargets` (r:6 w:0)
/// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::VersionNotifyTargets` (r:6 w:0)
/// Proof: `PezkuwiXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn already_notified_target() -> Weight {
// Proof Size summary in bytes:
// Measured: `76`
@@ -248,12 +248,12 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(Weight::from_parts(0, 15916))
.saturating_add(T::DbWeight::get().reads(6))
}
/// Storage: `PolkadotXcm::VersionNotifyTargets` (r:2 w:1)
/// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::VersionNotifyTargets` (r:2 w:1)
/// Proof: `PezkuwiXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `TeyrChainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `TeyrChainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
fn notify_current_targets() -> Weight {
// Proof Size summary in bytes:
// Measured: `110`
@@ -264,8 +264,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(4))
.saturating_add(T::DbWeight::get().writes(2))
}
/// Storage: `PolkadotXcm::VersionNotifyTargets` (r:4 w:0)
/// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::VersionNotifyTargets` (r:4 w:0)
/// Proof: `PezkuwiXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn notify_target_migration_fail() -> Weight {
// Proof Size summary in bytes:
// Measured: `37`
@@ -275,8 +275,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(Weight::from_parts(0, 10927))
.saturating_add(T::DbWeight::get().reads(4))
}
/// Storage: `PolkadotXcm::VersionNotifyTargets` (r:5 w:2)
/// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::VersionNotifyTargets` (r:5 w:2)
/// Proof: `PezkuwiXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn migrate_version_notify_targets() -> Weight {
// Proof Size summary in bytes:
// Measured: `34`
@@ -287,12 +287,12 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(2))
}
/// Storage: `PolkadotXcm::VersionNotifyTargets` (r:5 w:2)
/// Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::VersionNotifyTargets` (r:5 w:2)
/// Proof: `PezkuwiXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `TeyrChainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `TeyrChainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
fn migrate_and_notify_old_targets() -> Weight {
// Proof Size summary in bytes:
// Measured: `110`
@@ -303,10 +303,10 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(7))
.saturating_add(T::DbWeight::get().writes(3))
}
/// Storage: `PolkadotXcm::QueryCounter` (r:1 w:1)
/// Proof: `PolkadotXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `PolkadotXcm::Queries` (r:0 w:1)
/// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::QueryCounter` (r:1 w:1)
/// Proof: `PezkuwiXcm::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::Queries` (r:0 w:1)
/// Proof: `PezkuwiXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn new_query() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
@@ -317,8 +317,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(2))
}
/// Storage: `PolkadotXcm::Queries` (r:1 w:1)
/// Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::Queries` (r:1 w:1)
/// Proof: `PezkuwiXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn take_response() -> Weight {
// Proof Size summary in bytes:
// Measured: `7576`
@@ -329,10 +329,10 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `PolkadotXcm::ShouldRecordXcm` (r:1 w:0)
/// Proof: `PolkadotXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `PolkadotXcm::AssetTraps` (r:1 w:1)
/// Proof: `PolkadotXcm::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::ShouldRecordXcm` (r:1 w:0)
/// Proof: `PezkuwiXcm::ShouldRecordXcm` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `PezkuwiXcm::AssetTraps` (r:1 w:1)
/// Proof: `PezkuwiXcm::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `AssetManager::AssetTypeId` (r:1 w:0)
/// Proof: `AssetManager::AssetTypeId` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Assets::Asset` (r:1 w:1)
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_xcm_transactor`
//! Autogenerated weights for `pezpallet_xcm_transactor`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_xcm_transactor.json
// --pallet=pallet_xcm_transactor
// --json-file=benchmarking/results/results-pezpallet_xcm_transactor.json
// --pezpallet=pezpallet_xcm_transactor
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_xcm_transactor.rs
// --output=benchmarking/new-benchmarks/pezpallet_xcm_transactor.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_xcm_transactor`.
/// Weight functions for `pezpallet_xcm_transactor`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_xcm_transactor::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_xcm_transactor::WeightInfo for WeightInfo<T> {
/// Storage: `XcmTransactor::IndexToAccount` (r:1 w:1)
/// Proof: `XcmTransactor::IndexToAccount` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn register() -> Weight {
@@ -98,8 +98,8 @@ impl<T: frame_system::Config> pallet_xcm_transactor::WeightInfo for WeightInfo<T
/// Proof: `XcmTransactor::TransactInfoWithWeightLimit` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `XcmTransactor::DestinationAssetFeePerSecond` (r:1 w:0)
/// Proof: `XcmTransactor::DestinationAssetFeePerSecond` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
/// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `TeyrChainInfo::TeyrChainId` (r:1 w:0)
/// Proof: `TeyrChainInfo::TeyrChainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `AssetManager::AssetTypeId` (r:1 w:0)
/// Proof: `AssetManager::AssetTypeId` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Assets::Asset` (r:1 w:0)
@@ -119,8 +119,8 @@ impl<T: frame_system::Config> pallet_xcm_transactor::WeightInfo for WeightInfo<T
/// Proof: `XcmTransactor::TransactInfoWithWeightLimit` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `XcmTransactor::DestinationAssetFeePerSecond` (r:1 w:0)
/// Proof: `XcmTransactor::DestinationAssetFeePerSecond` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
/// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `TeyrChainInfo::TeyrChainId` (r:1 w:0)
/// Proof: `TeyrChainInfo::TeyrChainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `AssetManager::AssetTypeId` (r:1 w:0)
/// Proof: `AssetManager::AssetTypeId` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Assets::Asset` (r:1 w:0)
@@ -140,12 +140,12 @@ impl<T: frame_system::Config> pallet_xcm_transactor::WeightInfo for WeightInfo<T
/// Proof: `XcmTransactor::TransactInfoWithWeightLimit` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `XcmTransactor::DestinationAssetFeePerSecond` (r:1 w:0)
/// Proof: `XcmTransactor::DestinationAssetFeePerSecond` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
/// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainInfo::TeyrChainId` (r:1 w:0)
/// Proof: `TeyrChainInfo::TeyrChainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `TeyrChainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `TeyrChainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `TeyrChainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
fn transact_through_signed() -> Weight {
// Proof Size summary in bytes:
// Measured: `534`
@@ -164,12 +164,12 @@ impl<T: frame_system::Config> pallet_xcm_transactor::WeightInfo for WeightInfo<T
/// Proof: `XcmTransactor::TransactInfoWithWeightLimit` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `XcmTransactor::DestinationAssetFeePerSecond` (r:1 w:0)
/// Proof: `XcmTransactor::DestinationAssetFeePerSecond` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
/// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParachainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `ParachainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainInfo::TeyrChainId` (r:1 w:0)
/// Proof: `TeyrChainInfo::TeyrChainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `TeyrChainSystem::HostConfiguration` (r:1 w:0)
/// Proof: `TeyrChainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `TeyrChainSystem::PendingUpwardMessages` (r:1 w:1)
/// Proof: `TeyrChainSystem::PendingUpwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
fn hrmp_manage() -> Weight {
// Proof Size summary in bytes:
// Measured: `538`
@@ -1,5 +1,5 @@
//! Autogenerated weights for `pallet_xcm_weight_trader`
//! Autogenerated weights for `pezpallet_xcm_weight_trader`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 42.0.0
//! DATE: 2024-11-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -10,28 +10,28 @@
// Executed Command:
// target/release/evm-template-node
// benchmark
// pallet
// pezpallet
// --steps=50
// --repeat=20
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=benchmarking/results/results-pallet_xcm_weight_trader.json
// --pallet=pallet_xcm_weight_trader
// --json-file=benchmarking/results/results-pezpallet_xcm_weight_trader.json
// --pezpallet=pezpallet_xcm_weight_trader
// --chain=dev
// --output=benchmarking/new-benchmarks/pallet_xcm_weight_trader.rs
// --output=benchmarking/new-benchmarks/pezpallet_xcm_weight_trader.rs
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]
use frame_support::{traits::Get, weights::Weight};
use pezframe_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;
/// Weight functions for `pallet_xcm_weight_trader`.
/// Weight functions for `pezpallet_xcm_weight_trader`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_xcm_weight_trader::WeightInfo for WeightInfo<T> {
impl<T: pezframe_system::Config> pezpallet_xcm_weight_trader::WeightInfo for WeightInfo<T> {
/// Storage: `XcmWeightTrader::SupportedAssets` (r:1 w:1)
/// Proof: `XcmWeightTrader::SupportedAssets` (`max_values`: None, `max_size`: Some(635), added: 3110, mode: `MaxEncodedLen`)
fn add_asset() -> Weight {
@@ -1,4 +1,4 @@
// This file is part of Substrate.
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
@@ -16,13 +16,13 @@
// limitations under the License.
pub mod constants {
use frame_support::{
use pezframe_support::{
parameter_types,
weights::{constants, RuntimeDbWeight},
};
parameter_types! {
/// By default, Substrate uses `RocksDB`, so this will be the weight used throughout
/// By default, Bizinikiwi uses `RocksDB`, so this will be the weight used throughout
/// the runtime.
pub const RocksDbWeight: RuntimeDbWeight = RuntimeDbWeight {
read: 25_000 * constants::WEIGHT_REF_TIME_PER_NANOS,
@@ -32,7 +32,7 @@ pub mod constants {
#[cfg(test)]
mod test_db_weights {
use frame_support::weights::constants;
use pezframe_support::weights::constants;
use super::constants::RocksDbWeight as W;
+2 -2
View File
@@ -1,10 +1,10 @@
// ExtBuilder impl for all runtime integration tests
use evm_runtime_template::{BuildStorage, Runtime, System};
use frame_support::weights::Weight;
use pezframe_support::weights::Weight;
pub fn run_with_system_weight<F: FnMut()>(w: Weight, mut assertions: F) {
let mut t: sp_io::TestExternalities =
frame_system::GenesisConfig::<Runtime>::default().build_storage().unwrap().into();
pezframe_system::GenesisConfig::<Runtime>::default().build_storage().unwrap().into();
t.execute_with(|| {
System::set_block_consumed_resources(w, 0);
assertions()
+52 -52
View File
@@ -3,7 +3,7 @@ mod constant_tests {
#[test]
fn test_constants() {
assert_eq!(MICROCENTS, 1_000_000);
assert_eq!(MICTYRENTS, 1_000_000);
assert_eq!(MILLICENTS, 1_000_000_000);
@@ -28,7 +28,7 @@ mod runtime_tests {
constants::{currency::*, *},
BlockNumber, Runtime,
};
use frame_support::{pallet_prelude::Weight, traits::TypedGet, PalletId};
use pezframe_support::{pezpallet_prelude::Weight, traits::TypedGet, PezpalletId};
use sp_runtime::{Cow, Perbill};
use sp_version::RuntimeVersion;
use xcm::latest::prelude::BodyId;
@@ -39,8 +39,8 @@ mod runtime_tests {
assert_eq!(
VERSION,
RuntimeVersion {
spec_name: Cow::Borrowed("template-parachain"),
impl_name: Cow::Borrowed("template-parachain"),
spec_name: Cow::Borrowed("template-teyrchain"),
impl_name: Cow::Borrowed("template-teyrchain"),
authoring_version: 1,
spec_version: 1,
impl_version: 0,
@@ -61,12 +61,12 @@ mod runtime_tests {
}
#[test]
fn frame_system_constants() {
fn pezframe_system_constants() {
#[cfg(not(feature = "async-backing"))]
assert_eq!(
MAXIMUM_BLOCK_WEIGHT,
Weight::from_parts(
frame_support::weights::constants::WEIGHT_REF_TIME_PER_SECOND.saturating_div(2),
pezframe_support::weights::constants::WEIGHT_REF_TIME_PER_SECOND.saturating_div(2),
cumulus_primitives_core::relay_chain::MAX_POV_SIZE as u64
)
);
@@ -75,7 +75,7 @@ mod runtime_tests {
assert_eq!(
MAXIMUM_BLOCK_WEIGHT,
Weight::from_parts(
frame_support::weights::constants::WEIGHT_REF_TIME_PER_SECOND.saturating_mul(2),
pezframe_support::weights::constants::WEIGHT_REF_TIME_PER_SECOND.saturating_mul(2),
cumulus_primitives_core::relay_chain::MAX_POV_SIZE as u64
)
);
@@ -88,7 +88,7 @@ mod runtime_tests {
#[cfg(feature = "async-backing")]
assert_eq!(UNINCLUDED_SEGMENT_CAPACITY, 3);
assert_eq!(BLOCK_PROCESSING_VELOCITY, 1);
assert_eq!(BLOCK_PTYRESSING_VELOCITY, 1);
assert_eq!(RELAY_CHAIN_SLOT_DURATION_MILLIS, 6000);
@@ -107,105 +107,105 @@ mod runtime_tests {
assert_eq!(MAX_BLOCK_LENGTH, 5 * 1024 * 1024);
assert_eq!(<Runtime as frame_system::Config>::SS58Prefix::get(), 42);
assert_eq!(<Runtime as pezframe_system::Config>::SS58Prefix::get(), 42);
assert_eq!(<Runtime as frame_system::Config>::MaxConsumers::get(), 16);
assert_eq!(<Runtime as pezframe_system::Config>::MaxConsumers::get(), 16);
}
#[test]
fn proxy_constants() {
assert_eq!(<Runtime as pallet_proxy::Config>::MaxProxies::get(), 32);
assert_eq!(<Runtime as pezpallet_proxy::Config>::MaxProxies::get(), 32);
assert_eq!(<Runtime as pallet_proxy::Config>::MaxPending::get(), 32);
assert_eq!(<Runtime as pezpallet_proxy::Config>::MaxPending::get(), 32);
assert_eq!(<Runtime as pallet_proxy::Config>::ProxyDepositBase::get(), deposit(1, 40));
assert_eq!(<Runtime as pezpallet_proxy::Config>::ProxyDepositBase::get(), deposit(1, 40));
assert_eq!(
<Runtime as pallet_proxy::Config>::AnnouncementDepositBase::get(),
<Runtime as pezpallet_proxy::Config>::AnnouncementDepositBase::get(),
deposit(1, 48)
);
assert_eq!(<Runtime as pallet_proxy::Config>::ProxyDepositFactor::get(), deposit(0, 33));
assert_eq!(<Runtime as pezpallet_proxy::Config>::ProxyDepositFactor::get(), deposit(0, 33));
assert_eq!(
<Runtime as pallet_proxy::Config>::AnnouncementDepositFactor::get(),
<Runtime as pezpallet_proxy::Config>::AnnouncementDepositFactor::get(),
deposit(0, 66)
);
}
#[test]
fn balances_constants() {
assert_eq!(<Runtime as pallet_balances::Config>::MaxFreezes::get(), 0);
assert_eq!(<Runtime as pezpallet_balances::Config>::MaxFreezes::get(), 0);
assert_eq!(<Runtime as pallet_balances::Config>::MaxLocks::get(), 50);
assert_eq!(<Runtime as pezpallet_balances::Config>::MaxLocks::get(), 50);
assert_eq!(<Runtime as pallet_balances::Config>::MaxReserves::get(), 50);
assert_eq!(<Runtime as pezpallet_balances::Config>::MaxReserves::get(), 50);
}
#[test]
fn assets_constants() {
assert_eq!(<Runtime as pallet_assets::Config>::AssetDeposit::get(), 10 * CENTS);
assert_eq!(<Runtime as pezpallet_assets::Config>::AssetDeposit::get(), 10 * CENTS);
assert_eq!(<Runtime as pallet_assets::Config>::AssetAccountDeposit::get(), deposit(1, 16));
assert_eq!(<Runtime as pezpallet_assets::Config>::AssetAccountDeposit::get(), deposit(1, 16));
assert_eq!(<Runtime as pallet_assets::Config>::ApprovalDeposit::get(), MILLICENTS);
assert_eq!(<Runtime as pezpallet_assets::Config>::ApprovalDeposit::get(), MILLICENTS);
assert_eq!(<Runtime as pallet_assets::Config>::StringLimit::get(), 50);
assert_eq!(<Runtime as pezpallet_assets::Config>::StringLimit::get(), 50);
assert_eq!(<Runtime as pallet_assets::Config>::MetadataDepositBase::get(), deposit(1, 68));
assert_eq!(<Runtime as pezpallet_assets::Config>::MetadataDepositBase::get(), deposit(1, 68));
assert_eq!(
<Runtime as pallet_assets::Config>::MetadataDepositPerByte::get(),
<Runtime as pezpallet_assets::Config>::MetadataDepositPerByte::get(),
deposit(0, 1)
);
assert_eq!(<Runtime as pallet_assets::Config>::RemoveItemsLimit::get(), 1000);
assert_eq!(<Runtime as pezpallet_assets::Config>::RemoveItemsLimit::get(), 1000);
}
#[test]
fn transaction_payment_constants() {
assert_eq!(configs::TransactionByteFee::get(), 10 * MICROCENTS);
assert_eq!(configs::TransactionByteFee::get(), 10 * MICTYRENTS);
assert_eq!(
<Runtime as pallet_transaction_payment::Config>::OperationalFeeMultiplier::get(),
<Runtime as pezpallet_transaction_payment::Config>::OperationalFeeMultiplier::get(),
5
);
}
#[test]
fn cumulus_pallet_parachain_system_constants() {
fn cumulus_pezpallet_teyrchain_system_constants() {
assert_eq!(
<Runtime as cumulus_pallet_parachain_system::Config>::ReservedXcmpWeight::get(),
<Runtime as cumulus_pezpallet_teyrchain_system::Config>::ReservedXcmpWeight::get(),
MAXIMUM_BLOCK_WEIGHT.saturating_div(4)
);
assert_eq!(
<Runtime as cumulus_pallet_parachain_system::Config>::ReservedDmpWeight::get(),
<Runtime as cumulus_pezpallet_teyrchain_system::Config>::ReservedDmpWeight::get(),
MAXIMUM_BLOCK_WEIGHT.saturating_div(4)
);
}
#[test]
fn message_queue_constants() {
assert_eq!(<Runtime as pallet_message_queue::Config>::HeapSize::get(), 64 * 1024);
assert_eq!(<Runtime as pallet_message_queue::Config>::MaxStale::get(), 8);
assert_eq!(<Runtime as pezpallet_message_queue::Config>::HeapSize::get(), 64 * 1024);
assert_eq!(<Runtime as pezpallet_message_queue::Config>::MaxStale::get(), 8);
}
#[test]
fn cumulus_pallet_xcmp_queue_constants() {
fn cumulus_pezpallet_xcmp_queue_constants() {
assert_eq!(
<Runtime as cumulus_pallet_xcmp_queue::Config>::MaxInboundSuspended::get(),
<Runtime as cumulus_pezpallet_xcmp_queue::Config>::MaxInboundSuspended::get(),
1000
);
}
#[test]
fn multisig_constants() {
assert_eq!(<Runtime as pallet_multisig::Config>::DepositBase::get(), deposit(1, 88));
assert_eq!(<Runtime as pezpallet_multisig::Config>::DepositBase::get(), deposit(1, 88));
assert_eq!(<Runtime as pallet_multisig::Config>::DepositFactor::get(), deposit(0, 32));
assert_eq!(<Runtime as pezpallet_multisig::Config>::DepositFactor::get(), deposit(0, 32));
assert_eq!(<Runtime as pallet_multisig::Config>::MaxSignatories::get(), 100);
assert_eq!(<Runtime as pezpallet_multisig::Config>::MaxSignatories::get(), 100);
}
#[test]
@@ -221,40 +221,40 @@ mod runtime_tests {
#[cfg(not(feature = "tanssi"))]
fn aura_constants() {
#[cfg(not(feature = "async-backing"))]
assert!(!<Runtime as pallet_aura::Config>::AllowMultipleBlocksPerSlot::get());
assert!(!<Runtime as pezpallet_aura::Config>::AllowMultipleBlocksPerSlot::get());
#[cfg(feature = "async-backing")]
assert!(<Runtime as pallet_aura::Config>::AllowMultipleBlocksPerSlot::get());
assert!(<Runtime as pezpallet_aura::Config>::AllowMultipleBlocksPerSlot::get());
assert_eq!(<Runtime as pallet_aura::Config>::MaxAuthorities::get(), 100_000);
assert_eq!(<Runtime as pezpallet_aura::Config>::MaxAuthorities::get(), 100_000);
}
#[test]
#[cfg(not(feature = "tanssi"))]
fn collator_selection_constants() {
let pallet_id_to_string = |id: PalletId| -> String {
let pezpallet_id_to_string = |id: PezpalletId| -> String {
core::str::from_utf8(&id.0).unwrap_or_default().to_string()
};
assert_eq!(
pallet_id_to_string(<Runtime as pallet_collator_selection::Config>::PotId::get()),
pallet_id_to_string(PalletId(*b"PotStake"))
pezpallet_id_to_string(<Runtime as pezpallet_collator_selection::Config>::PotId::get()),
pezpallet_id_to_string(PezpalletId(*b"PotStake"))
);
assert_eq!(configs::SessionLength::get(), 6 * HOURS);
assert_eq!(configs::StakingAdminBodyId::get(), BodyId::Defense);
assert_eq!(<Runtime as pallet_collator_selection::Config>::MaxCandidates::get(), 100);
assert_eq!(<Runtime as pezpallet_collator_selection::Config>::MaxCandidates::get(), 100);
assert_eq!(<Runtime as pallet_collator_selection::Config>::MaxInvulnerables::get(), 20);
assert_eq!(<Runtime as pezpallet_collator_selection::Config>::MaxInvulnerables::get(), 20);
assert_eq!(<Runtime as pallet_collator_selection::Config>::MinEligibleCollators::get(), 4);
assert_eq!(<Runtime as pezpallet_collator_selection::Config>::MinEligibleCollators::get(), 4);
}
}
mod xcm_tests {
use evm_runtime_template::{configs, Runtime};
use frame_support::weights::Weight;
use pezframe_support::weights::Weight;
#[test]
fn xcm_executor_constants() {
@@ -264,9 +264,9 @@ mod xcm_tests {
}
#[test]
fn pallet_xcm_constants() {
assert_eq!(<Runtime as pallet_xcm::Config>::MaxLockers::get(), 8);
assert_eq!(<Runtime as pallet_xcm::Config>::MaxRemoteLockConsumers::get(), 0);
assert_eq!(<Runtime as pallet_xcm::Config>::VERSION_DISCOVERY_QUEUE_SIZE, 100);
fn pezpallet_xcm_constants() {
assert_eq!(<Runtime as pezpallet_xcm::Config>::MaxLockers::get(), 8);
assert_eq!(<Runtime as pezpallet_xcm::Config>::MaxRemoteLockConsumers::get(), 0);
assert_eq!(<Runtime as pezpallet_xcm::Config>::VERSION_DISCOVERY_QUEUE_SIZE, 100);
}
}
+4 -4
View File
@@ -2,9 +2,9 @@
mod common;
use common::*;
use evm_runtime_template::{Runtime, RuntimeBlockWeights};
use frame_support::pallet_prelude::*;
use pallet_transaction_payment::Multiplier;
use polkadot_runtime_common::MinimumMultiplier;
use pezframe_support::pezpallet_prelude::*;
use pezpallet_transaction_payment::Multiplier;
use pezkuwi_runtime_common::MinimumMultiplier;
use sp_runtime::{traits::Convert, Perquintill};
fn min_multiplier() -> Multiplier {
@@ -17,7 +17,7 @@ fn target() -> Weight {
}
fn runtime_multiplier_update(fm: Multiplier) -> Multiplier {
<Runtime as pallet_transaction_payment::Config>::FeeMultiplierUpdate::convert(fm)
<Runtime as pezpallet_transaction_payment::Config>::FeeMultiplierUpdate::convert(fm)
}
#[test]
+23 -23
View File
@@ -2,37 +2,37 @@
#[cfg(not(feature = "tanssi"))]
use evm_runtime_template::{Aura, AuraExt, Authorship, CollatorSelection, Session};
use evm_runtime_template::{
Balances, CumulusXcm, MessageQueue, Multisig, ParachainInfo, ParachainSystem, PolkadotXcm,
Balances, CumulusXcm, MessageQueue, Multisig, TeyrChainInfo, TeyrChainSystem, PezkuwiXcm,
Proxy, Runtime, Sudo, System, Timestamp, TransactionPayment, XcmpQueue,
};
use frame_support::traits::PalletInfo;
use pezframe_support::traits::PalletInfo;
fn assert_pallet_prefix<P: 'static>(name: &str) {
assert_eq!(<Runtime as frame_system::Config>::PalletInfo::name::<P>(), Some(name));
fn assert_pezpallet_prefix<P: 'static>(name: &str) {
assert_eq!(<Runtime as pezframe_system::Config>::PalletInfo::name::<P>(), Some(name));
}
#[test]
fn verify_pallet_prefixes() {
assert_pallet_prefix::<System>("System");
assert_pallet_prefix::<ParachainSystem>("ParachainSystem");
assert_pallet_prefix::<Timestamp>("Timestamp");
assert_pallet_prefix::<ParachainInfo>("ParachainInfo");
assert_pallet_prefix::<Proxy>("Proxy");
assert_pallet_prefix::<Balances>("Balances");
assert_pallet_prefix::<TransactionPayment>("TransactionPayment");
assert_pallet_prefix::<Sudo>("Sudo");
assert_pallet_prefix::<Multisig>("Multisig");
assert_pallet_prefix::<XcmpQueue>("XcmpQueue");
assert_pallet_prefix::<PolkadotXcm>("PolkadotXcm");
assert_pallet_prefix::<CumulusXcm>("CumulusXcm");
assert_pallet_prefix::<MessageQueue>("MessageQueue");
fn verify_pezpallet_prefixes() {
assert_pezpallet_prefix::<System>("System");
assert_pezpallet_prefix::<TeyrChainSystem>("TeyrChainSystem");
assert_pezpallet_prefix::<Timestamp>("Timestamp");
assert_pezpallet_prefix::<TeyrChainInfo>("TeyrChainInfo");
assert_pezpallet_prefix::<Proxy>("Proxy");
assert_pezpallet_prefix::<Balances>("Balances");
assert_pezpallet_prefix::<TransactionPayment>("TransactionPayment");
assert_pezpallet_prefix::<Sudo>("Sudo");
assert_pezpallet_prefix::<Multisig>("Multisig");
assert_pezpallet_prefix::<XcmpQueue>("XcmpQueue");
assert_pezpallet_prefix::<PezkuwiXcm>("PezkuwiXcm");
assert_pezpallet_prefix::<CumulusXcm>("CumulusXcm");
assert_pezpallet_prefix::<MessageQueue>("MessageQueue");
#[cfg(not(feature = "tanssi"))]
{
assert_pallet_prefix::<Authorship>("Authorship");
assert_pallet_prefix::<CollatorSelection>("CollatorSelection");
assert_pallet_prefix::<Session>("Session");
assert_pallet_prefix::<Aura>("Aura");
assert_pallet_prefix::<AuraExt>("AuraExt");
assert_pezpallet_prefix::<Authorship>("Authorship");
assert_pezpallet_prefix::<CollatorSelection>("CollatorSelection");
assert_pezpallet_prefix::<Session>("Session");
assert_pezpallet_prefix::<Aura>("Aura");
assert_pezpallet_prefix::<AuraExt>("AuraExt");
}
}
+27 -27
View File
@@ -1,30 +1,30 @@
pub mod parachain;
pub mod teyrchain;
pub mod relay_chain;
use sp_runtime::BuildStorage;
use sp_tracing;
use xcm::prelude::*;
use xcm_executor::traits::ConvertLocation;
use xcm_simulator::{decl_test_network, decl_test_parachain, decl_test_relay_chain, TestExt};
use xcm_simulator::{decl_test_network, decl_test_teyrchain, decl_test_relay_chain, TestExt};
pub const PARA_ALICE: [u8; 20] = [1u8; 20];
pub const ALICE: sp_runtime::AccountId32 = sp_runtime::AccountId32::new([1u8; 32]);
pub const INITIAL_BALANCE: u128 = 1_000_000_000;
decl_test_parachain! {
decl_test_teyrchain! {
pub struct ParaA {
Runtime = parachain::Runtime,
XcmpMessageHandler = parachain::MsgQueue,
DmpMessageHandler = parachain::MsgQueue,
Runtime = teyrchain::Runtime,
XcmpMessageHandler = teyrchain::MsgQueue,
DmpMessageHandler = teyrchain::MsgQueue,
new_ext = para_ext(1),
}
}
decl_test_parachain! {
decl_test_teyrchain! {
pub struct ParaB {
Runtime = parachain::Runtime,
XcmpMessageHandler = parachain::MsgQueue,
DmpMessageHandler = parachain::MsgQueue,
Runtime = teyrchain::Runtime,
XcmpMessageHandler = teyrchain::MsgQueue,
DmpMessageHandler = teyrchain::MsgQueue,
new_ext = para_ext(2),
}
}
@@ -44,44 +44,44 @@ decl_test_relay_chain! {
decl_test_network! {
pub struct MockNet {
relay_chain = Relay,
parachains = vec![
teyrchains = vec![
(1, ParaA),
(2, ParaB),
],
}
}
pub fn parent_account_id() -> parachain::AccountId {
pub fn parent_account_id() -> teyrchain::AccountId {
let location = (Parent,);
parachain::location_converter::LocationConverter::convert_location(&location.into()).unwrap()
teyrchain::location_converter::LocationConverter::convert_location(&location.into()).unwrap()
}
pub fn child_account_id(para: u32) -> relay_chain::AccountId {
let location = (Parachain(para),);
let location = (TeyrChain(para),);
relay_chain::location_converter::LocationConverter::convert_location(&location.into()).unwrap()
}
pub fn child_account_account_id(para: u32, who: sp_runtime::AccountId32) -> relay_chain::AccountId {
let location = (Parachain(para), AccountId32 { network: None, id: who.into() });
let location = (TeyrChain(para), AccountId32 { network: None, id: who.into() });
relay_chain::location_converter::LocationConverter::convert_location(&location.into()).unwrap()
}
pub fn sibling_account_account_id(para: u32, who: sp_runtime::AccountId32) -> parachain::AccountId {
let location = (Parent, Parachain(para), AccountId32 { network: None, id: who.into() });
parachain::location_converter::LocationConverter::convert_location(&location.into()).unwrap()
pub fn sibling_account_account_id(para: u32, who: sp_runtime::AccountId32) -> teyrchain::AccountId {
let location = (Parent, TeyrChain(para), AccountId32 { network: None, id: who.into() });
teyrchain::location_converter::LocationConverter::convert_location(&location.into()).unwrap()
}
pub fn parent_account_account_id(who: sp_runtime::AccountId32) -> parachain::AccountId {
pub fn parent_account_account_id(who: sp_runtime::AccountId32) -> teyrchain::AccountId {
let location = (Parent, AccountId32 { network: None, id: who.into() });
parachain::location_converter::LocationConverter::convert_location(&location.into()).unwrap()
teyrchain::location_converter::LocationConverter::convert_location(&location.into()).unwrap()
}
pub fn para_ext(para_id: u32) -> sp_io::TestExternalities {
use parachain::{MsgQueue, Runtime, System};
use teyrchain::{MsgQueue, Runtime, System};
let mut t = frame_system::GenesisConfig::<Runtime>::default().build_storage().unwrap();
let mut t = pezframe_system::GenesisConfig::<Runtime>::default().build_storage().unwrap();
pallet_balances::GenesisConfig::<Runtime> {
pezpallet_balances::GenesisConfig::<Runtime> {
balances: vec![
(PARA_ALICE.into(), INITIAL_BALANCE),
(parent_account_id(), INITIAL_BALANCE),
@@ -103,9 +103,9 @@ pub fn para_ext(para_id: u32) -> sp_io::TestExternalities {
pub fn relay_ext() -> sp_io::TestExternalities {
use relay_chain::{Runtime, System};
let mut t = frame_system::GenesisConfig::<Runtime>::default().build_storage().unwrap();
let mut t = pezframe_system::GenesisConfig::<Runtime>::default().build_storage().unwrap();
pallet_balances::GenesisConfig::<Runtime> {
pezpallet_balances::GenesisConfig::<Runtime> {
balances: vec![
(ALICE, INITIAL_BALANCE),
(child_account_id(1), INITIAL_BALANCE),
@@ -123,5 +123,5 @@ pub fn relay_ext() -> sp_io::TestExternalities {
ext
}
pub type RelayChainPalletXcm = pallet_xcm::Pallet<relay_chain::Runtime>;
pub type ParachainPalletXcm = pallet_xcm::Pallet<parachain::Runtime>;
pub type RelayChainPezpalletXcm = pezpallet_xcm::Pallet<relay_chain::Runtime>;
pub type TeyrChainPezpalletXcm = pezpallet_xcm::Pallet<teyrchain::Runtime>;
@@ -1,11 +1,11 @@
mod xcm_config;
use frame_support::{
use pezframe_support::{
construct_runtime, derive_impl, parameter_types,
traits::{ConstU128, Disabled, Everything, Nothing, ProcessMessage, ProcessMessageError},
weights::{Weight, WeightMeter},
};
use frame_system::EnsureRoot;
use polkadot_runtime_parachains::{
use pezframe_system::EnsureRoot;
use pezkuwi_runtime_teyrchains::{
configuration,
inclusion::{AggregateMessageOrigin, UmpQueueId},
origin, shared,
@@ -24,16 +24,16 @@ parameter_types! {
pub const BlockHashCount: u64 = 250;
}
#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for Runtime {
type AccountData = pallet_balances::AccountData<Balance>;
#[derive_impl(pezframe_system::config_preludes::TestDefaultConfig)]
impl pezframe_system::Config for Runtime {
type AccountData = pezpallet_balances::AccountData<Balance>;
type AccountId = AccountId;
type Block = Block;
type Lookup = IdentityLookup<Self::AccountId>;
}
#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)]
impl pallet_balances::Config for Runtime {
#[derive_impl(pezpallet_balances::config_preludes::TestDefaultConfig)]
impl pezpallet_balances::Config for Runtime {
type AccountStore = System;
type Balance = Balance;
type ExistentialDeposit = ConstU128<1>;
@@ -50,9 +50,9 @@ impl configuration::Config for Runtime {
pub type LocalOriginToLocation =
SignedToAccountId32<RuntimeOrigin, AccountId, constants::RelayNetwork>;
impl pallet_xcm::Config for Runtime {
impl pezpallet_xcm::Config for Runtime {
type AdminOrigin = EnsureRoot<AccountId>;
type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;
type AdvertisedXcmVersion = pezpallet_xcm::CurrentXcmVersion;
// Aliasing is disabled: xcm_executor::Config::Aliasers is set to `Nothing`.
type AuthorizedAliasConsideration = Disabled;
type Currency = Balances;
@@ -70,7 +70,7 @@ impl pallet_xcm::Config for Runtime {
type TrustedLockers = ();
type UniversalLocation = constants::UniversalLocation;
type Weigher = weigher::Weigher;
type WeightInfo = pallet_xcm::TestWeightInfo;
type WeightInfo = pezpallet_xcm::TestWeightInfo;
type XcmExecuteFilter = Nothing;
type XcmExecutor = XcmExecutor<XcmConfig>;
type XcmReserveTransferFilter = Everything;
@@ -82,7 +82,7 @@ impl pallet_xcm::Config for Runtime {
impl origin::Config for Runtime {}
type Block = frame_system::mocking::MockBlock<Runtime>;
type Block = pezframe_system::mocking::MockBlock<Runtime>;
parameter_types! {
/// Amount of weight that can be spent per block to service messages.
@@ -91,7 +91,7 @@ parameter_types! {
pub const MessageQueueMaxStale: u32 = 16;
}
/// Message processor to handle any messages that were enqueued into the `MessageQueue` pallet.
/// Message processor to handle any messages that were enqueued into the `MessageQueue` pezpallet.
pub struct MessageProcessor;
impl ProcessMessage for MessageProcessor {
type Origin = AggregateMessageOrigin;
@@ -109,11 +109,11 @@ impl ProcessMessage for MessageProcessor {
Junction,
xcm_executor::XcmExecutor<XcmConfig>,
RuntimeCall,
>::process_message(message, Junction::Parachain(para.into()), meter, id)
>::process_message(message, Junction::TeyrChain(para.into()), meter, id)
}
}
impl pallet_message_queue::Config for Runtime {
impl pezpallet_message_queue::Config for Runtime {
type HeapSize = MessageQueueHeapSize;
type IdleMaxServiceWeight = ();
type MaxStale = MessageQueueMaxStale;
@@ -129,10 +129,10 @@ impl pallet_message_queue::Config for Runtime {
construct_runtime!(
pub enum Runtime
{
System: frame_system,
Balances: pallet_balances,
System: pezframe_system,
Balances: pezpallet_balances,
ParasOrigin: origin,
XcmPallet: pallet_xcm,
MessageQueue: pallet_message_queue,
XcmPezpallet: pezpallet_xcm,
MessageQueue: pezpallet_message_queue,
}
);
@@ -1,4 +1,4 @@
use frame_support::traits::Everything;
use pezframe_support::traits::Everything;
use xcm_builder::AllowUnpaidExecutionFrom;
pub type Barrier = AllowUnpaidExecutionFrom<Everything>;
@@ -1,4 +1,4 @@
use frame_support::parameter_types;
use pezframe_support::parameter_types;
use xcm::latest::prelude::*;
parameter_types! {
@@ -5,11 +5,11 @@ pub mod location_converter;
pub mod origin_converter;
pub mod weigher;
use frame_support::traits::{Everything, Nothing};
use xcm_builder::{EnsureDecodableXcm, FixedRateOfFungible, FrameTransactionalProcessor};
use pezframe_support::traits::{Everything, Nothing};
use xcm_builder::{EnsureDecodableXcm, FixedRateOfFungible, PezframeTransactionalProcessor};
use xcm_executor::Config;
use crate::xcm_mock::relay_chain::{RuntimeCall, XcmPallet};
use crate::xcm_mock::relay_chain::{RuntimeCall, XcmPezpallet};
// Generated from `decl_test_network!`
pub type XcmRouter = EnsureDecodableXcm<crate::xcm_mock::RelayChainXcmRouter>;
@@ -19,7 +19,7 @@ impl Config for XcmConfig {
type Aliasers = Nothing;
type AssetClaims = ();
type AssetExchanger = ();
type AssetLocker = XcmPallet;
type AssetLocker = XcmPezpallet;
type AssetTransactor = asset_transactor::AssetTransactor;
type AssetTrap = ();
type Barrier = barrier::Barrier;
@@ -33,17 +33,17 @@ impl Config for XcmConfig {
type MaxAssetsIntoHolding = constants::MaxAssetsIntoHolding;
type MessageExporter = ();
type OriginConverter = origin_converter::OriginConverter;
type PalletInstancesInfo = ();
type PezpalletInstancesInfo = ();
type ResponseHandler = ();
type RuntimeCall = RuntimeCall;
type SafeCallFilter = Everything;
type SubscriptionService = ();
type Trader = FixedRateOfFungible<constants::TokensPerSecondPerByte, ()>;
type TransactionalProcessor = FrameTransactionalProcessor;
type TransactionalProcessor = PezframeTransactionalProcessor;
type UniversalAliases = Nothing;
type UniversalLocation = constants::UniversalLocation;
type Weigher = weigher::Weigher;
type XcmEventEmitter = XcmPallet;
type XcmRecorder = XcmPallet;
type XcmEventEmitter = XcmPezpallet;
type XcmRecorder = XcmPezpallet;
type XcmSender = XcmRouter;
}
@@ -1,7 +1,7 @@
use polkadot_parachain_primitives::primitives::Id as ParaId;
use polkadot_runtime_parachains::origin;
use pezkuwi_teyrchain_primitives::primitives::Id as ParaId;
use pezkuwi_runtime_teyrchains::origin;
use xcm_builder::{
ChildParachainAsNative, ChildSystemParachainAsSuperuser, SignedAccountId32AsNative,
ChildTeyrChainAsNative, ChildSystemTeyrChainAsSuperuser, SignedAccountId32AsNative,
SovereignSignedViaLocation,
};
@@ -11,9 +11,9 @@ use crate::xcm_mock::relay_chain::{
type LocalOriginConverter = (
SovereignSignedViaLocation<LocationConverter, RuntimeOrigin>,
ChildParachainAsNative<origin::Origin, RuntimeOrigin>,
ChildTeyrChainAsNative<origin::Origin, RuntimeOrigin>,
SignedAccountId32AsNative<RelayNetwork, RuntimeOrigin>,
ChildSystemParachainAsSuperuser<ParaId, RuntimeOrigin>,
ChildSystemTeyrChainAsSuperuser<ParaId, RuntimeOrigin>,
);
pub type OriginConverter = LocalOriginConverter;
@@ -1,4 +1,4 @@
use frame_support::parameter_types;
use pezframe_support::parameter_types;
use xcm::latest::prelude::*;
use xcm_builder::FixedWeightBounds;
@@ -2,12 +2,12 @@ mod xcm_config;
use core::marker::PhantomData;
use evm_runtime_template::configs::xcm_config::SignedToAccountId20;
use frame_support::{
use pezframe_support::{
construct_runtime, derive_impl, parameter_types,
traits::{ConstU128, ContainsPair, Disabled, Everything, Nothing},
weights::{constants::WEIGHT_REF_TIME_PER_SECOND, Weight},
};
use frame_system::EnsureRoot;
use pezframe_system::EnsureRoot;
use sp_core::ConstU32;
use sp_runtime::traits::{Get, IdentityLookup};
use xcm::latest::prelude::*;
@@ -23,16 +23,16 @@ parameter_types! {
pub const BlockHashCount: u64 = 250;
}
#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for Runtime {
type AccountData = pallet_balances::AccountData<Balance>;
#[derive_impl(pezframe_system::config_preludes::TestDefaultConfig)]
impl pezframe_system::Config for Runtime {
type AccountData = pezpallet_balances::AccountData<Balance>;
type AccountId = AccountId;
type Block = Block;
type Lookup = IdentityLookup<Self::AccountId>;
}
#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)]
impl pallet_balances::Config for Runtime {
#[derive_impl(pezpallet_balances::config_preludes::TestDefaultConfig)]
impl pezpallet_balances::Config for Runtime {
type AccountStore = System;
type Balance = Balance;
type ExistentialDeposit = ConstU128<1>;
@@ -65,9 +65,9 @@ parameter_types! {
pub type TrustedLockers = TrustedLockerCase<RelayTokenForRelay>;
impl pallet_xcm::Config for Runtime {
impl pezpallet_xcm::Config for Runtime {
type AdminOrigin = EnsureRoot<AccountId>;
type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;
type AdvertisedXcmVersion = pezpallet_xcm::CurrentXcmVersion;
// Aliasing is disabled: xcm_executor::Config::Aliasers is set to `Nothing`.
type AuthorizedAliasConsideration = Disabled;
type Currency = Balances;
@@ -84,7 +84,7 @@ impl pallet_xcm::Config for Runtime {
type TrustedLockers = TrustedLockers;
type UniversalLocation = constants::UniversalLocation;
type Weigher = weigher::Weigher;
type WeightInfo = pallet_xcm::TestWeightInfo;
type WeightInfo = pezpallet_xcm::TestWeightInfo;
type XcmExecuteFilter = Everything;
type XcmExecutor = XcmExecutor<XcmConfig>;
type XcmReserveTransferFilter = Everything;
@@ -94,13 +94,13 @@ impl pallet_xcm::Config for Runtime {
const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;
}
type Block = frame_system::mocking::MockBlock<Runtime>;
type Block = pezframe_system::mocking::MockBlock<Runtime>;
construct_runtime!(
pub struct Runtime {
System: frame_system,
Balances: pallet_balances,
System: pezframe_system,
Balances: pezpallet_balances,
MsgQueue: mock_message_queue,
PolkadotXcm: pallet_xcm,
PezkuwiXcm: pezpallet_xcm,
}
);
@@ -1,6 +1,6 @@
use xcm_builder::{FungibleAdapter, IsConcrete};
use crate::parachain::{
use crate::teyrchain::{
constants::KsmLocation, location_converter::LocationConverter, AccountId, Balances,
};
@@ -1,4 +1,4 @@
use frame_support::traits::Everything;
use pezframe_support::traits::Everything;
use xcm_builder::AllowUnpaidExecutionFrom;
pub type Barrier = AllowUnpaidExecutionFrom<Everything>;
@@ -1,8 +1,8 @@
use frame_support::parameter_types;
use pezframe_support::parameter_types;
use xcm::latest::prelude::*;
use xcm_simulator::mock_message_queue::ParachainId;
use xcm_simulator::mock_message_queue::TeyrChainId;
use crate::xcm_mock::parachain::Runtime;
use crate::xcm_mock::teyrchain::Runtime;
parameter_types! {
pub KsmPerSecondPerByte: (AssetId, u128, u128) = (AssetId(Parent.into()), 1, 1);
@@ -12,5 +12,5 @@ parameter_types! {
parameter_types! {
pub const KsmLocation: Location = Location::parent();
pub const RelayNetwork: NetworkId = NetworkId::Kusama;
pub UniversalLocation: InteriorLocation = [GlobalConsensus(RelayNetwork::get()), Parachain(ParachainId::<Runtime>::get().into())].into();
pub UniversalLocation: InteriorLocation = [GlobalConsensus(RelayNetwork::get()), TeyrChain(TeyrChainId::<Runtime>::get().into())].into();
}
@@ -1,6 +1,6 @@
use xcm_builder::{AccountKey20Aliases, DescribeAllTerminal, DescribeFamily, HashedDescription};
use crate::xcm_mock::parachain::{constants::RelayNetwork, AccountId};
use crate::xcm_mock::teyrchain::{constants::RelayNetwork, AccountId};
type LocationToAccountId = (
HashedDescription<AccountId, DescribeFamily<DescribeAllTerminal>>,

Some files were not shown because too many files have changed in this diff Show More