#![cfg_attr(not(feature = "std"), no_std)]
extern crate alloc;
#[doc(hidden)]
#[cfg(not(feature = "std"))]
pub use core::{
clone::Clone,
cmp::{Eq, PartialEq},
fmt,
fmt::Debug,
option::Option,
prelude::rust_2021::derive,
result::Result,
};
#[doc(hidden)]
pub use scale::{Decode, Encode, MaxEncodedLen};
#[doc(hidden)]
#[cfg(not(feature = "std"))]
pub use alloc::vec::Vec;
#[doc(hidden)]
pub use bounded_collections::BoundedVec;
#[doc(hidden)]
#[cfg(feature = "std")]
pub use std::vec::Vec;
mod fixed_vec;
mod program_blob;
mod simple;
mod simple_result_code;
mod types;
mod vec_map;
mod vec_set;
mod opaque;
pub use fixed_vec::{BoundedMap, FixedVec};
pub use simple::{
AuthOutput, AuthParam, AuthQueue, Authorization, AuthorizerHash, Balance, CodeHash, CoreIndex,
ExtrinsicHash, Gas, Hash, HeaderHash, Memo, OpaqueBandersnatchPublic, OpaqueEd25519Public,
OpaqueValidatorMetadata, PayloadHash, Segment, SegmentHash, SegmentTreeRoot, ServiceId, Slot,
ValIndex, WorkOutput, WorkPackageHash, WorkPayload, AUTH_QUEUE_LEN, CHUNKS_PER_SEGMENT,
CHUNK_LEN, CHUNK_POINTS, MAX_IMPORTS, MAX_WORK_ITEMS, MEMO_LEN, POINT_LEN, SEGMENT_LEN,
VAL_COUNT,
};
pub use vec_map::{MapLike, VecMap};
pub use vec_set::{SetLike, VecSet};
pub use types::{
AccumulateItem, Authorizer, ExtrinsicSpec, GenericWorkItem, GenericWorkItems,
GenericWorkPackage, ImportSpec, OpaqueValKeyset, OpaqueValKeysets, PackageInfo, RefineContext,
RootIdentifier, ServiceInfo, TransferRecord, WorkItem, WorkItemImportsVec, WorkPackage,
};
#[doc(hidden)]
pub use simple::{
AccumulateRootHash, AnyHash, AnyVec, Bundle, Code, DoubleBalance, DoubleGas, MerkleNodeHash,
MmrPeakHash, StateRootHash, WorkReportHash, MAX_DEPENDENCIES, MAX_EXPORTS, MAX_INPUT,
SEGMENT_SLICE_LEN, VAL_SUPER_MAJORITY,
};
#[doc(hidden)]
pub mod hex;
#[doc(hidden)]
pub use simple_result_code::{InvokeOutcomeCode, SimpleResult, SimpleResultCode, LOWEST_ERROR};
#[doc(hidden)]
pub use types::{
AccumulateParams, FatWorkItem, FatWorkPackage, OnTransferParams, OnTransferParamsRef,
RefWorkItem, RefWorkPackage, RefineParams, RefineParamsRef, WorkError, WorkItems, WorkResult,
};
#[doc(hidden)]
pub use program_blob::ProgramBlob;
mod pvm;
#[doc(hidden)]
pub use pvm::*;