fix: Complete snowbridge pezpallet rebrand and critical bug fixes

- snowbridge-pezpallet-* → pezsnowbridge-pezpallet-* (201 refs)
- pallet/ directories → pezpallet/ (4 locations)
- Fixed pezpallet.rs self-include recursion bug
- Fixed sc-chain-spec hardcoded crate name in derive macro
- Reverted .pezpallet_by_name() to .pallet_by_name() (subxt API)
- Added BizinikiwiConfig type alias for zombienet tests
- Deleted obsolete session state files

Verified: pezsnowbridge-pezpallet-*, pezpallet-staking,
pezpallet-staking-async, pezframe-benchmarking-cli all pass cargo check
This commit is contained in:
2025-12-16 09:57:23 +03:00
parent eea003e14d
commit 3139ffa25e
3022 changed files with 42157 additions and 23579 deletions
@@ -0,0 +1,65 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
use pezframe_support::pezpallet_prelude::*;
use pezframe_system::pezpallet_prelude::*;
#[pezframe_support::pezpallet]
pub mod my_test {
use super::*;
#[pezpallet::config]
pub trait Config: pezframe_system::Config {
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
#[cfg(all(target_endian = "little", target_endian = "big"))] // Never compiles.
fn never_compiled() {}
#[pezpallet::call]
impl<T: Config> Pezpallet<T> {
#[cfg(all(target_endian = "little", target_endian = "big"))] // Never compiles.
#[pezpallet::weight(Weight::zero())]
#[pezpallet::authorize(|_source| {
never_compiled(); // This will fail to compile if the authorize function is defined.
Err(InvalidTransaction::Call.into())
})]
#[pezpallet::weight_of_authorize(Weight::zero())]
#[pezpallet::call_index(0)]
pub fn call_0(_: OriginFor<T>) -> DispatchResult {
Ok(())
}
#[pezpallet::weight(Weight::zero())]
#[pezpallet::authorize(|_source| { Err(InvalidTransaction::Call.into()) })]
#[pezpallet::weight_of_authorize(Weight::zero())]
#[pezpallet::call_index(1)]
pub fn call_1(_: OriginFor<T>) -> DispatchResult {
Ok(())
}
#[pezpallet::weight(Weight::zero())]
#[pezpallet::call_index(2)]
pub fn call_2(_: OriginFor<T>) -> DispatchResult {
Ok(())
}
}
}
fn main() {}
@@ -0,0 +1,32 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#[pezframe_support::pezpallet]
pub mod pezpallet {
use pezframe_support::pezpallet_prelude::*;
#[pezpallet::config(with_default, without_automatic_metadata)]
pub trait Config: pezframe_system::Config {
#[pezpallet::constant]
type MyGetParam2: Get<Self::AccountId>;
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(_);
}
fn main() {}
@@ -0,0 +1,32 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#[pezframe_support::pezpallet]
pub mod pezpallet {
use pezframe_support::pezpallet_prelude::*;
#[pezpallet::config(without_automatic_metadata)]
pub trait Config: pezframe_system::Config {
#[pezpallet::constant]
type MyGetParam2: Get<Self::AccountId>;
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(_);
}
fn main() {}
@@ -0,0 +1,32 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#[pezframe_support::pezpallet]
pub mod pezpallet {
use pezframe_support::pezpallet_prelude::*;
#[pezpallet::config(with_default)]
pub trait Config: pezframe_system::Config {
#[pezpallet::constant]
type MyGetParam2: Get<Self::AccountId>;
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(_);
}
fn main() {}
@@ -0,0 +1,134 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#![cfg_attr(not(feature = "std"), no_std)]
use pezframe_support::{derive_impl, traits::ConstU32};
pub use pezpallet::*;
#[pezframe_support::pezpallet(dev_mode)]
pub mod pezpallet {
use pezframe_support::pezpallet_prelude::*;
use pezframe_system::pezpallet_prelude::*;
// The struct on which we build all of our Pezpallet logic.
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(_);
// Your Pezpallet's configuration trait, representing custom external types and interfaces.
#[pezpallet::config]
pub trait Config: pezframe_system::Config {}
// The MEL requirement for bounded pezpallets is skipped by `dev_mode`.
#[pezpallet::storage]
type MyStorage<T: Config> = StorageValue<_, Vec<u8>>;
// The Hasher requirement skipped by `dev_mode`.
#[pezpallet::storage]
pub type MyStorageMap<T: Config> = StorageMap<_, _, u32, u64>;
#[pezpallet::storage]
type MyStorageDoubleMap<T: Config> = StorageDoubleMap<_, _, u32, _, u64, u64>;
#[pezpallet::storage]
type MyCountedStorageMap<T: Config> = CountedStorageMap<_, _, u32, u64>;
#[pezpallet::storage]
pub type MyStorageMap2<T: Config> = StorageMap<Key = u32, Value = u64>;
#[pezpallet::storage]
type MyStorageDoubleMap2<T: Config> = StorageDoubleMap<Key1 = u32, Key2 = u64, Value = u64>;
#[pezpallet::storage]
type MyCountedStorageMap2<T: Config> = CountedStorageMap<Key = u32, Value = u64>;
// Your Pezpallet's callable functions.
#[pezpallet::call]
impl<T: Config> Pezpallet<T> {
// No need to define a `weight` attribute here because of `dev_mode`.
pub fn my_call(_origin: OriginFor<T>) -> DispatchResult {
Ok(())
}
}
// Your Pezpallet's internal functions.
impl<T: Config> Pezpallet<T> {}
}
#[derive_impl(pezframe_system::config_preludes::TestDefaultConfig)]
impl pezframe_system::Config for Runtime {
type BaseCallFilter = pezframe_support::traits::Everything;
type RuntimeOrigin = RuntimeOrigin;
type Nonce = u64;
type RuntimeCall = RuntimeCall;
type Hash = pezsp_runtime::testing::H256;
type Hashing = pezsp_runtime::traits::BlakeTwo256;
type AccountId = u64;
type Lookup = pezsp_runtime::traits::IdentityLookup<Self::AccountId>;
type Block = Block;
type RuntimeEvent = RuntimeEvent;
type BlockWeights = ();
type BlockLength = ();
type DbWeight = ();
type Version = ();
type PezpalletInfo = PezpalletInfo;
type AccountData = ();
type OnNewAccount = ();
type OnKilledAccount = ();
type SystemWeightInfo = ();
type SS58Prefix = ();
type OnSetCode = ();
type MaxConsumers = ConstU32<16>;
}
pub type Header = pezsp_runtime::generic::Header<u32, pezsp_runtime::traits::BlakeTwo256>;
pub type Block = pezsp_runtime::generic::Block<Header, UncheckedExtrinsic>;
pub type UncheckedExtrinsic = pezsp_runtime::generic::UncheckedExtrinsic<u32, RuntimeCall, (), ()>;
pezframe_support::construct_runtime!(
pub struct Runtime
{
// Exclude part `Storage` in order not to check its metadata in tests.
System: pezframe_system exclude_parts { Pezpallet, Storage },
Example: pezpallet,
}
);
impl pezpallet::Config for Runtime {}
fn main() {
use pezframe_support::pezpallet_prelude::*;
use pezsp_io::{
hashing::{blake2_128, twox_128},
TestExternalities,
};
use storage::unhashed;
fn blake2_128_concat(d: &[u8]) -> Vec<u8> {
let mut v = blake2_128(d).to_vec();
v.extend_from_slice(d);
v
}
TestExternalities::default().execute_with(|| {
pezpallet::MyStorageMap::<Runtime>::insert(1, 2);
let mut k = [twox_128(b"Example"), twox_128(b"MyStorageMap")].concat();
k.extend(1u32.using_encoded(blake2_128_concat));
assert_eq!(unhashed::get::<u64>(&k), Some(2u64));
});
}
@@ -0,0 +1,58 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
use codec::{Decode, DecodeWithMemTracking, Encode};
use pezframe_support::PezpalletError;
#[pezframe_support::pezpallet]
#[allow(unused_imports)]
pub mod pezpallet {
#[pezpallet::config]
pub trait Config: pezframe_system::Config {}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
#[pezpallet::error]
pub enum Error<T> {
CustomError(crate::MyError),
}
}
#[derive(Encode, Decode, DecodeWithMemTracking, PezpalletError, scale_info::TypeInfo)]
pub enum MyError {
Foo,
Bar,
Baz(NestedError),
Struct(MyStruct),
Wrapper(Wrapper),
}
#[derive(Encode, Decode, DecodeWithMemTracking, PezpalletError, scale_info::TypeInfo)]
pub enum NestedError {
Quux,
}
#[derive(Encode, Decode, DecodeWithMemTracking, PezpalletError, scale_info::TypeInfo)]
pub struct MyStruct {
field: u8,
}
#[derive(Encode, Decode, DecodeWithMemTracking, PezpalletError, scale_info::TypeInfo)]
pub struct Wrapper(bool);
fn main() {}
@@ -0,0 +1,46 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#[pezframe_support::pezpallet]
#[allow(unused_imports)]
pub mod pezpallet {
use pezframe_support::pezpallet_prelude::{Hooks, IsType};
use pezframe_system::pezpallet_prelude::BlockNumberFor;
#[pezpallet::config]
pub trait Config:
pezframe_system::Config<Hash = pezsp_core::H256, RuntimeEvent: From<Event<Self>>>
{
type Bar: Clone + std::fmt::Debug + Eq;
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
#[pezpallet::hooks]
impl<T: Config> Hooks<BlockNumberFor<T>> for Pezpallet<T> {}
#[pezpallet::call]
impl<T: Config> Pezpallet<T> {}
#[pezpallet::event]
pub enum Event<T: Config> {
B { b: T::Bar },
}
}
fn main() {}
@@ -0,0 +1,37 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#[pezframe_support::pezpallet(dev_mode)]
pub mod pezpallet {
use pezframe_support::pezpallet_prelude::DispatchResult;
use pezframe_system::pezpallet_prelude::OriginFor;
#[pezpallet::config]
pub trait Config: pezframe_system::Config {}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
#[pezpallet::call]
impl<T: Config> Pezpallet<T> {
#[pezpallet::feeless_if(|_: &OriginFor<T>| -> bool { true })]
pub fn foo(_: OriginFor<T>) -> DispatchResult { Ok(()) }
}
}
fn main() {
}
@@ -0,0 +1,68 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
use pezframe_support::pezpallet_prelude::*;
use pezframe_system::pezpallet_prelude::*;
pub trait WeightInfo {
fn foo() -> Weight;
}
#[pezframe_support::pezpallet]
pub mod parentheses {
use super::*;
#[pezpallet::config]
pub trait Config: pezframe_system::Config {
type WeightInfo: crate::WeightInfo;
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
#[pezpallet::call(weight(<T as Config>::WeightInfo))]
impl<T: Config> Pezpallet<T> {
#[pezpallet::call_index(0)]
pub fn foo(_: OriginFor<T>) -> DispatchResult {
Ok(())
}
}
}
#[pezframe_support::pezpallet]
pub mod assign {
use super::*;
#[pezpallet::config]
pub trait Config: pezframe_system::Config {
type WeightInfo: crate::WeightInfo;
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
#[pezpallet::call(weight = <T as Config>::WeightInfo)]
impl<T: Config> Pezpallet<T> {
#[pezpallet::call_index(0)]
pub fn foo(_: OriginFor<T>) -> DispatchResult {
Ok(())
}
}
}
fn main() {
}
@@ -0,0 +1,74 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
use pezframe_support::pezpallet_prelude::*;
use pezframe_system::pezpallet_prelude::*;
pub trait WeightInfo {
fn foo() -> Weight;
}
impl WeightInfo for () {
fn foo() -> Weight {
Weight::zero()
}
}
#[pezframe_support::pezpallet]
pub mod parentheses {
use super::*;
#[pezpallet::config]
pub trait Config: pezframe_system::Config {
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
// Crazy man just uses `()`, but it still works ;)
#[pezpallet::call(weight(()))]
impl<T: Config> Pezpallet<T> {
#[pezpallet::call_index(0)]
pub fn foo(_: OriginFor<T>) -> DispatchResult {
Ok(())
}
}
}
#[pezframe_support::pezpallet]
pub mod assign {
use super::*;
#[pezpallet::config]
pub trait Config: pezframe_system::Config {
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
// Crazy man just uses `()`, but it still works ;)
#[pezpallet::call(weight = ())]
impl<T: Config> Pezpallet<T> {
#[pezpallet::call_index(0)]
pub fn foo(_: OriginFor<T>) -> DispatchResult {
Ok(())
}
}
}
fn main() {
}
@@ -0,0 +1,71 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
use pezframe_support::pezpallet_prelude::*;
use pezframe_system::pezpallet_prelude::*;
// If, for whatever reason, you don't to not use a `WeightInfo` trait - it will still work.
pub struct Impl;
impl Impl {
pub fn foo() -> Weight {
Weight::zero()
}
}
#[pezframe_support::pezpallet]
pub mod parentheses {
use super::*;
#[pezpallet::config]
pub trait Config: pezframe_system::Config {
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
#[pezpallet::call(weight(crate::Impl))]
impl<T: Config> Pezpallet<T> {
#[pezpallet::call_index(0)]
pub fn foo(_: OriginFor<T>) -> DispatchResult {
Ok(())
}
}
}
#[pezframe_support::pezpallet]
pub mod assign {
use super::*;
#[pezpallet::config]
pub trait Config: pezframe_system::Config {
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
#[pezpallet::call(weight = crate::Impl)]
impl<T: Config> Pezpallet<T> {
#[pezpallet::call_index(0)]
pub fn foo(_: OriginFor<T>) -> DispatchResult {
Ok(())
}
}
}
fn main() {
}
@@ -0,0 +1,47 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
use pezframe_support::pezpallet_prelude::*;
use pezframe_system::pezpallet_prelude::*;
pub trait WeightInfo {
fn foo() -> Weight;
}
#[pezframe_support::pezpallet(dev_mode)]
pub mod pezpallet {
use super::*;
#[pezpallet::config]
pub trait Config: pezframe_system::Config {
type WeightInfo: WeightInfo;
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
#[pezpallet::call(weight(<T as Config>::WeightInfo))]
impl<T: Config> Pezpallet<T> {
#[pezpallet::call_index(0)]
pub fn foo(_: OriginFor<T>) -> DispatchResult {
Ok(())
}
}
}
fn main() {
}
@@ -0,0 +1,65 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
use pezframe_support::{construct_runtime, derive_impl};
use pezsp_core::sr25519;
use pezsp_runtime::{generic, traits::BlakeTwo256};
pub type Signature = sr25519::Signature;
pub type BlockNumber = u32;
pub type Header = generic::Header<BlockNumber, BlakeTwo256>;
pub type Block = generic::Block<Header, UncheckedExtrinsic>;
pub type UncheckedExtrinsic = generic::UncheckedExtrinsic<u32, RuntimeCall, Signature, ()>;
impl test_pezpallet::Config for Runtime {}
#[derive_impl(pezframe_system::config_preludes::TestDefaultConfig)]
impl pezframe_system::Config for Runtime {
type BaseCallFilter = pezframe_support::traits::Everything;
type RuntimeOrigin = RuntimeOrigin;
type Nonce = u64;
type RuntimeCall = RuntimeCall;
type Hash = pezsp_runtime::testing::H256;
type Hashing = pezsp_runtime::traits::BlakeTwo256;
type AccountId = u64;
type Lookup = pezsp_runtime::traits::IdentityLookup<Self::AccountId>;
type Block = Block;
type RuntimeEvent = RuntimeEvent;
type BlockHashCount = pezframe_support::traits::ConstU32<250>;
type BlockWeights = ();
type BlockLength = ();
type DbWeight = ();
type Version = ();
type PezpalletInfo = PezpalletInfo;
type AccountData = ();
type OnNewAccount = ();
type OnKilledAccount = ();
type SystemWeightInfo = ();
type SS58Prefix = ();
type OnSetCode = ();
type MaxConsumers = pezframe_support::traits::ConstU32<16>;
}
construct_runtime! {
pub struct Runtime
{
System: pezframe_system,
Pezpallet: test_pezpallet,
}
}
fn main() {}
@@ -0,0 +1,32 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#[pezframe_support::pezpallet]
pub mod pezpallet {
use pezframe_support::pezpallet_prelude::*;
#[pezpallet::config(with_default)]
pub trait Config: pezframe_system::Config {}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(_);
#[pezpallet::storage]
pub type MyStorage<T> = StorageValue<_, u32>;
}
fn main() {}
@@ -0,0 +1,69 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#[pezframe_support::pezpallet(dev_mode)]
pub mod pezpallet {
use pezframe_support::{ensure, pezpallet_prelude::DispatchResult};
#[pezpallet::config]
pub trait Config: pezframe_system::Config {}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
#[pezpallet::tasks_experimental]
impl<T: Config> Pezpallet<T> {
#[pezpallet::task_index(0)]
#[pezpallet::task_condition(|i, j| i == 0u32 && j == 2u64)]
#[pezpallet::task_list(vec![(0u32, 2u64), (2u32, 4u64)].iter())]
#[pezpallet::task_weight(0.into())]
fn foo(i: u32, j: u64) -> DispatchResult {
ensure!(i == 0, "i must be 0");
ensure!(j == 2, "j must be 2");
Ok(())
}
}
}
#[pezframe_support::pezpallet(dev_mode)]
pub mod pezpallet_with_instance {
use pezframe_support::pezpallet_prelude::{ValueQuery, StorageValue};
#[pezpallet::config]
pub trait Config<I: 'static = ()>: pezframe_system::Config {}
#[pezpallet::pezpallet]
pub struct Pezpallet<T, I = ()>(_);
#[pezpallet::storage]
pub type SomeStorage<T, I = ()> = StorageValue<_, u32, ValueQuery>;
#[pezpallet::tasks_experimental]
impl<T: Config<I>, I> Pezpallet<T, I> {
#[pezpallet::task_index(0)]
#[pezpallet::task_condition(|i, j| i == 0u32 && j == 2u64)]
#[pezpallet::task_list(vec![(0u32, 2u64), (2u32, 4u64)].iter())]
#[pezpallet::task_weight(0.into())]
fn foo(_i: u32, _j: u64) -> pezframe_support::pezpallet_prelude::DispatchResult {
<SomeStorage<T, I>>::get();
Ok(())
}
}
}
fn main() {
}
@@ -0,0 +1,46 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#[pezframe_support::pezpallet]
pub mod pezpallet {
use pezframe_support::pezpallet_prelude::*;
use pezframe_system::pezpallet_prelude::BlockNumberFor;
#[pezpallet::config]
pub trait Config: pezframe_system::Config {
#[pezpallet::constant]
type U: Get<u32>;
#[pezpallet::constant]
type V: Get<u32> + From<u16>;
#[pezpallet::constant]
type W: From<u16> + Get<u32>;
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
#[pezpallet::hooks]
impl<T: Config> Hooks<BlockNumberFor<T>> for Pezpallet<T> {}
#[pezpallet::call]
impl<T: Config> Pezpallet<T> {}
}
fn main() {
}
@@ -0,0 +1,39 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#[pezframe_support::pezpallet]
pub mod pezpallet {
use pezframe_support::pezpallet_prelude::*;
#[pezpallet::config(with_default)]
pub trait Config: pezframe_system::Config {}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(_);
#[pezpallet::storage]
pub type MyStorage<T> = StorageValue<_, u32>;
#[pezpallet::view_functions]
impl<T: Config> Pezpallet<T> {
pub fn get_value() -> Option<u32> {
MyStorage::<T>::get()
}
}
}
fn main() {}
@@ -0,0 +1,43 @@
// This file is part of Bizinikiwi.
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#[pezframe_support::pezpallet]
pub mod pezpallet {
#[pezpallet::config]
pub trait Config: pezframe_system::Config
where
<Self as pezframe_system::Config>::Nonce: From<u128>,
{
}
#[pezpallet::pezpallet]
pub struct Pezpallet<T>(core::marker::PhantomData<T>);
#[pezpallet::call]
impl<T: Config> Pezpallet<T> where <T as pezframe_system::Config>::Nonce: From<u128> {}
impl<T: Config> Pezpallet<T>
where
<T as pezframe_system::Config>::Nonce: From<u128>,
{
pub fn foo(x: u128) {
let _index = <T as pezframe_system::Config>::Nonce::from(x);
}
}
}
fn main() {}