inital commit, which is clearly not initial

Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
This commit is contained in:
Uncle Stretch
2024-10-03 15:38:52 +03:00
commit 66719626bb
178 changed files with 41709 additions and 0 deletions

19
pallets/traits/Cargo.toml Executable file
View File

@@ -0,0 +1,19 @@
[package]
name = "ghost-traits"
version = "0.3.19"
license.workspace = true
authors.workspace = true
edition.workspace = true
homepage.workspace = true
repository.workspace = true
[dependencies]
frame-support = { workspace = true }
sp-runtime = { workspace = true }
[features]
default = ["std"]
std = [
"frame-support/std",
"sp-runtime/std",
]

3
pallets/traits/src/lib.rs Executable file
View File

@@ -0,0 +1,3 @@
#![cfg_attr(not(feature = "std"), no_std)]
pub mod networks;

29
pallets/traits/src/networks.rs Executable file
View File

@@ -0,0 +1,29 @@
use frame_support::{
pallet_prelude::*,
storage::PrefixIterator,
};
use sp_runtime::{
DispatchResult,
traits::{AtLeast32BitUnsigned, Member},
};
pub trait NetworkDataBasicHandler {
type NetworkId: Parameter
+ Member
+ AtLeast32BitUnsigned
+ Default
+ Copy
+ TypeInfo
+ MaybeSerializeDeserialize
+ MaxEncodedLen;
}
pub trait NetworkDataInspectHandler<Network>: NetworkDataBasicHandler {
fn get(n: &Self::NetworkId) -> Option<Network>;
fn iter() -> PrefixIterator<(Self::NetworkId, Network)>;
}
pub trait NetworkDataMutateHandler<Network>: NetworkDataInspectHandler<Network> {
fn register(chain_id: Self::NetworkId, network: Network) -> DispatchResult;
fn remove(chain_id: Self::NetworkId) -> DispatchResult;
}