pub struct Pallet<T>(_);
Expand description

The pallet implementing the on-chain logic.

Implementations§

source§

impl<T: Config> Pallet<T>

source

pub fn do_initial_setup() -> DispatchResult

source

pub fn do_create_marketplace( origin: OriginFor<T>, admin: T::AccountId, marketplace: Marketplace<T> ) -> DispatchResult

source

pub fn do_apply( applicant: T::AccountId, custodian: Option<T::AccountId>, marketplace_id: [u8; 32], application: Application<T> ) -> DispatchResult

source

pub fn do_invite( authority: T::AccountId, marketplace_id: [u8; 32], new_user: T::AccountId, fields: Fields<T>, custodian_fields: Option<CustodianFields<T>> ) -> DispatchResult

source

pub fn do_enroll( authority: T::AccountId, marketplace_id: [u8; 32], account_or_application: AccountOrApplication<T>, approved: bool, feedback: BoundedVec<u8, T::MaxFeedbackLen> ) -> DispatchResult

source

pub fn do_authority( authority: T::AccountId, account: T::AccountId, authority_type: MarketplaceRole, marketplace_id: [u8; 32] ) -> DispatchResult

source

pub fn self_enroll( account: T::AccountId, marketplace_id: [u8; 32] ) -> DispatchResult

source

pub fn do_remove_authority( authority: T::AccountId, account: T::AccountId, authority_type: MarketplaceRole, marketplace_id: [u8; 32] ) -> DispatchResult

source

pub fn do_update_label_marketplace( authority: T::AccountId, marketplace_id: [u8; 32], new_label: BoundedVec<u8, T::LabelMaxLen> ) -> DispatchResult

source

pub fn do_remove_marketplace( authority: T::AccountId, marketplace_id: [u8; 32] ) -> DispatchResult

source

pub fn do_enlist_sell_offer( authority: T::AccountId, marketplace_id: [u8; 32], collection_id: T::CollectionId, item_id: T::ItemId, price: T::Balance, percentage: u32 ) -> Result<[u8; 32], DispatchError>

source

pub fn do_enlist_buy_offer( authority: T::AccountId, marketplace_id: [u8; 32], collection_id: T::CollectionId, item_id: T::ItemId, price: T::Balance, percentage: u32 ) -> Result<[u8; 32], DispatchError>

source

pub fn do_take_sell_offer( origin: OriginFor<T>, offer_id: [u8; 32] ) -> DispatchResultwhere <T as Config>::ItemId: From<u32>,

source

pub fn do_take_buy_offer( authority: T::AccountId, offer_id: [u8; 32] ) -> DispatchResultwhere <T as Config>::ItemId: From<u32>,

source

pub fn do_remove_offer( authority: T::AccountId, offer_id: [u8; 32] ) -> DispatchResult

source

pub fn set_up_application( fields: Fields<T>, custodian_fields: Option<CustodianFields<T>> ) -> (Option<T::AccountId>, BoundedVec<ApplicationField, T::MaxFiles>)

source

pub fn remove_from_market_lists( account: T::AccountId, author_type: MarketplaceRole, marketplace_id: [u8; 32] ) -> DispatchResult

source

pub fn do_block_user( authority: T::AccountId, marketplace_id: [u8; 32], user: T::AccountId ) -> DispatchResult

source

pub fn do_unblock_user( authority: T::AccountId, marketplace_id: [u8; 32], user: T::AccountId ) -> DispatchResult

source

pub fn is_application_in_rejected_status( account: T::AccountId, marketplace_id: [u8; 32] ) -> DispatchResult

Let us check the curent status of the selected application. If the status is rejected, we can safely remove its data from the storage sources so the user can apply again. It doesn’t affect any other storage source/workflow.

source

pub fn do_ask_for_redeem( who: T::AccountId, marketplace: MarketplaceId, collection_id: T::CollectionId, item_id: T::ItemId ) -> DispatchResult

source

pub fn do_accept_redeem( who: T::AccountId, marketplace: MarketplaceId, redemption_id: RedemptionId ) -> DispatchResultwhere <T as Config>::ItemId: From<u32>,

source

pub fn pallet_id() -> IdOrVec

source§

impl<T> Pallet<T>where T: Config<CollectionId = u32, ItemId = u32> + Config,

source

pub fn initial_setup(origin: OriginFor<T>) -> DispatchResult

source

pub fn create_marketplace( origin: OriginFor<T>, admin: T::AccountId, label: BoundedVec<u8, T::LabelMaxLen>, buy_fee: u32, sell_fee: u32, asset_id: T::AssetId ) -> DispatchResult

Create a new marketplace.

Creates a new marketplace with the given label .

Parameters:
  • origin: The owner of the marketplace.
  • admin: The admin of the marketplace.
  • label: The name of the marketplace.
source

pub fn block_user( origin: OriginFor<T>, marketplace_id: MarketplaceId, block_args: BlockUserArgs<T> ) -> DispatchResult

Block or Unblock a user from apllying to a marketplace.

Blocks or Unblocks a user from applying to a marketplace.

Parameters:
  • origin: The admin of the marketplace.
  • marketplace_id: The id of the marketplace to block/unblock the user.
  • user: The id of the user to block/unblock.`
Considerations:
  • Once a user is blocked, the user won’t be able to join the marketplace until unblocked.
source

pub fn apply( origin: OriginFor<T>, marketplace_id: [u8; 32], fields: Fields<T>, custodian_fields: Option<CustodianFields<T>> ) -> DispatchResult

Apply to a marketplace.

Applies to the selected marketplace.

Parameters:
  • origin: The applicant.
  • marketplace_id: The id of the marketplace where we want to apply.
  • fields: Confidential user documents, any files necessary for the application
  • custodian_fields: The custodian account and their documents.
Considerations:
  • You can add many documents, up to the maximum allowed (10).
  • The custodian account is optional. You can apply to a marketplace without a custodian account.
  • All custodian fields are optional.
source

pub fn reapply( origin: OriginFor<T>, marketplace_id: [u8; 32], fields: Fields<T>, custodian_fields: Option<CustodianFields<T>> ) -> DispatchResult

Accept or reject a reapplyment.

Allows the applicant for a second chance to apply to the selected marketplace.

Parameters:
  • origin: The reapplicant.
  • marketplace_id: The id of the marketplace where we want to reapply.
  • fields: Confidential user documents, any files necessary for the reapplication
  • custodian_fields: The custodian account and their documents.
Considerations:
  • Since this is a second chance, you can replace your previous documents, up to the maximum allowed (10).
  • The custodian account is optional. You can replace the previous custodian.
  • Since we know the application exists, we can check the current status of the application.
source

pub fn enroll( origin: OriginFor<T>, marketplace_id: [u8; 32], account_or_application: AccountOrApplication<T>, approved: bool, feedback: BoundedVec<u8, T::MaxFeedbackLen> ) -> DispatchResult

Accept or reject an application.

If the application is accepted, the user will be added to the list of applicants. If the application is rejected, the user will be moved to the list of rejected applicants.

Parameters:
  • origin: The owner/admin of the marketplace.
  • marketplace_id: The id of the marketplace where we want to enroll users.
  • account_or_application: The account or application id to accept or reject.
  • approved: Whether to accept or reject the account/application.
Considerations:
  • You can only accept or reject applications where you are the owner/admin of the marketplace.
  • Ensure that your extrinsic has selected the right option account/application because some fields changes.
  • If you select Account you need to enter the account to be accepted.
  • If you select Application you need to enter the application_id to be accepted.
source

pub fn invite( origin: OriginFor<T>, marketplace_id: [u8; 32], account: T::AccountId, fields: Fields<T>, custodian_fields: Option<CustodianFields<T>> ) -> DispatchResult

Invite a user to a marketplace.

The admin of the marketplace can invite a user to the marketplace.

Parameters:
  • origin: The admin of the marketplace.
  • marketplace_id: The id of the marketplace where we want to invite a user.
  • account: The account to be invited.
Considerations:
  • You can only invite users to a marketplace where you are the admin.
source

pub fn add_authority( origin: OriginFor<T>, account: T::AccountId, authority_type: MarketplaceRole, marketplace_id: [u8; 32] ) -> DispatchResult

Add an Authority type

This extrinsic adds an authority type for the selected account from the selected marketplace.

Parameters:
  • origin: The user who performs the action.
  • account: The account to be removed.
  • authority_type: The type of authority to be added.
  • marketplace_id: The id of the marketplace where we want to add the account.
Considerations:

If the user has already applied to the marketplace for that particular authority type, it will throw an error.

source

pub fn remove_authority( origin: OriginFor<T>, account: T::AccountId, authority_type: MarketplaceRole, marketplace_id: [u8; 32] ) -> DispatchResult

Remove an Authority type

This extrinsic removes an authority type for the selected account from the selected marketplace.

Parameters:
  • origin: The user who performs the action.
  • account: The account to be removed.
  • authority_type: The type of authority to be removed.
  • marketplace_id: The id of the marketplace where we want to remove the account.
Considerations:
  • This extrinsic doesn’t remove the account from the marketplace, it only removes the selected authority type for that account. If the user doesn’t have the selected authority type, it will throw an error.
source

pub fn update_label_marketplace( origin: OriginFor<T>, marketplace_id: [u8; 32], new_label: BoundedVec<u8, T::LabelMaxLen> ) -> DispatchResult

Update marketplace’s label.

This extrinsic updates the label of the selected marketplace.

Parameters:
  • origin: The user who performs the action.
  • marketplace_id: The id of the marketplace where we want to update the label.
  • label: The new label for the selected marketplace.
Considerations:
  • You can only update the label of the marketplace where you are the owner/admin of the marketplace.
  • The label must be less than or equal to `T::LabelMaxLen
  • If the selected marketplace doesn’t exist, it will throw an error.
source

pub fn remove_marketplace( origin: OriginFor<T>, marketplace_id: [u8; 32] ) -> DispatchResult

Remove a particular marketplace.

This extrinsic removes the selected marketplace. It removes all the applications related with the marketplace. It removes all the authorities from the lists of the marketplace.

Parameters:
  • origin: The user who performs the action.
  • marketplace_id: The id of the marketplace to be removed.
Considerations:
  • You can only remove the marketplace where you are the owner/admin of the marketplace.
  • If the selected marketplace doesn’t exist, it will throw an error.
source

pub fn enlist_sell_offer( origin: OriginFor<T>, marketplace_id: [u8; 32], collection_id: T::CollectionId, item_id: T::ItemId, price: T::Balance, percentage: u32 ) -> DispatchResult

Enlist a sell order.

This extrinsic creates a sell order in the selected marketplace.

Parameters:
  • origin: The user who performs the action.
  • marketplace_id: The id of the marketplace where we want to create the sell order.
  • collection_id: The id of the collection.
  • item_id: The id of the item inside the collection.
  • price: The price of the item.
Considerations:
  • You can only create a sell order in the marketplace if you are the owner of the item.
  • You can create only one sell order for each item per marketplace.
  • If the selected marketplace doesn’t exist, it will throw an error.
  • If the selected collection doesn’t exist, it will throw an error.
source

pub fn take_sell_offer( origin: OriginFor<T>, offer_id: [u8; 32] ) -> DispatchResult

Accepts a sell order.

This extrinsic is called by the user who wants to buy the item. Accepts a sell order in the selected marketplace.

Parameters:
  • origin: The user who performs the action.
  • ’offer_id`: The id of the sell order to be accepted.
  • marketplace_id: The id of the marketplace where we want to accept the sell order.
Considerations:
  • You don’t need to be the owner of the item to accept the sell order.
  • Once the sell order is accepted, the ownership of the item is transferred to the buyer.
  • If you don’t have the enough balance to accept the sell order, it will throw an error.
source

pub fn remove_offer(origin: OriginFor<T>, offer_id: [u8; 32]) -> DispatchResult

Delete an offer.

This extrinsic deletes an offer in the selected marketplace.

Parameters:
  • origin: The user who performs the action.
  • offer_id: The id of the offer to be deleted.
Considerations:
  • You can delete sell orders or buy orders.
  • You can only delete an offer if you are the creator of the offer.
  • Only open offers can be deleted.
  • If you need to delete multiple offers for the same item, you need to delete them one by one.
source

pub fn enlist_buy_offer( origin: OriginFor<T>, marketplace_id: [u8; 32], collection_id: T::CollectionId, item_id: T::ItemId, price: T::Balance, percentage: u32 ) -> DispatchResult

Enlist a buy order.

This extrinsic creates a buy order in the selected marketplace.

Parameters:
  • origin: The user who performs the action.
  • marketplace_id: The id of the marketplace where we want to create the buy order.
  • collection_id: The id of the collection.
  • item_id: The id of the item inside the collection.
  • price: The price of the item.
Considerations:
  • Any user can create a buy order in the marketplace.
  • An item can receive multiple buy orders at a time.
  • You need to have the enough balance to create the buy order.
source

pub fn take_buy_offer( origin: OriginFor<T>, offer_id: [u8; 32] ) -> DispatchResult

Accepts a buy order.

This extrinsic is called by the owner of the item who accepts the buy offer created by a market participant. Accepts a buy order in the selected marketplace.

Parameters:
  • origin: The user who performs the action.
  • offer_id: The id of the buy order to be accepted.
  • marketplace_id: The id of the marketplace where we accept the buy order.
Considerations:
  • You need to be the owner of the item to accept a buy order.
  • Owner of the item can accept only one buy order at a time.
  • When an offer is accepted, all the other offers for this item are closed.
  • The buyer needs to have the enough balance to accept the buy order.
  • Once the buy order is accepted, the ownership of the item is transferred to the buyer.
source

pub fn redeem( origin: OriginFor<T>, marketplace: MarketplaceId, redeem: RedeemArgs<T> ) -> DispatchResult

Redeem an item. This extrinsic is called by the owner of the item who wants to redeem the item. The owner of the item can ask for redemption or accept redemption.

Parameters:
  • origin: The user who performs the action.
  • marketplace_id: The id of the marketplace where we want to redeem the item.
  • redeem: The type of redemption.
source

pub fn kill_storage(origin: OriginFor<T>) -> DispatchResult

Kill all the stored data.

This function is used to kill ALL the stored data. Use with caution!

Parameters:
  • origin: The user who performs the action.
Considerations:
  • This function is only available to the admin with sudo access.
source§

impl<T: Config> Pallet<T>

source

pub fn marketplaces<KArg>(k: KArg) -> Option<Marketplace<T>>where KArg: EncodeLike<MarketplaceId>,

source§

impl<T: Config> Pallet<T>

source

pub fn applications<KArg>(k: KArg) -> Option<Application<T>>where KArg: EncodeLike<ApplicationId>,

source§

impl<T: Config> Pallet<T>

source

pub fn applications_by_account<KArg1, KArg2>( k1: KArg1, k2: KArg2 ) -> Option<ApplicationId>where KArg1: EncodeLike<T::AccountId>, KArg2: EncodeLike<MarketplaceId>,

source§

impl<T: Config> Pallet<T>

source

pub fn applicants_by_marketplace<KArg1, KArg2>( k1: KArg1, k2: KArg2 ) -> BoundedVec<T::AccountId, T::MaxApplicants>where KArg1: EncodeLike<MarketplaceId>, KArg2: EncodeLike<ApplicationStatus>,

source§

impl<T: Config> Pallet<T>

source

pub fn custodians<KArg1, KArg2>( k1: KArg1, k2: KArg2 ) -> BoundedVec<T::AccountId, T::MaxApplicationsPerCustodian>where KArg1: EncodeLike<T::AccountId>, KArg2: EncodeLike<MarketplaceId>,

source§

impl<T: Config> Pallet<T>

source

pub fn offers_by_item<KArg1, KArg2>( k1: KArg1, k2: KArg2 ) -> BoundedVec<OfferId, T::MaxOffersPerMarket>where KArg1: EncodeLike<T::CollectionId>, KArg2: EncodeLike<T::ItemId>,

source§

impl<T: Config> Pallet<T>

source

pub fn offers_by_account<KArg>( k: KArg ) -> BoundedVec<OfferId, T::MaxOffersPerMarket>where KArg: EncodeLike<T::AccountId>,

source§

impl<T: Config> Pallet<T>

source

pub fn offers_by_marketplace<KArg>( k: KArg ) -> BoundedVec<OfferId, T::MaxOffersPerMarket>where KArg: EncodeLike<MarketplaceId>,

source§

impl<T: Config> Pallet<T>

source

pub fn offers_info<KArg>(k: KArg) -> Option<OfferData<T>>where KArg: EncodeLike<OfferId>,

source§

impl<T: Config> Pallet<T>

source

pub fn asking_for_redemption<KArg1, KArg2>( k1: KArg1, k2: KArg2 ) -> Option<RedemptionData<T>>where KArg1: EncodeLike<MarketplaceId>, KArg2: EncodeLike<RedemptionId>,

source§

impl<T: Config> Pallet<T>

source

pub fn get_blocked_accounts<KArg>( k: KArg ) -> BoundedVec<T::AccountId, T::MaxBlockedUsersPerMarket>where KArg: EncodeLike<MarketplaceId>,

Trait Implementations§

source§

impl<T> Callable<T> for Pallet<T>where T: Config<CollectionId = u32, ItemId = u32> + Config,

source§

impl<T> Clone for Pallet<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T> Debug for Pallet<T>

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Config> GetStorageVersion for Pallet<T>

source§

fn current_storage_version() -> StorageVersion

Returns the current storage version as supported by the pallet.
source§

fn on_chain_storage_version() -> StorageVersion

Returns the on-chain storage version of the pallet as stored in the storage.
source§

impl<T: Config> Hooks<<T as Config>::BlockNumber> for Pallet<T>

§

fn on_finalize(_n: BlockNumber)

The block is being finalized. Implement to have something happen.
§

fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight

This will be run when the block is being finalized (before on_finalize). Implement to have something happen using the remaining weight. Will not fire if the remaining weight is 0. Return the weight used, the hook will subtract it from current weight used and pass the result to the next on_idle hook if it exists.
§

fn on_initialize(_n: BlockNumber) -> Weight

The block is being initialized. Implement to have something happen. Read more
§

fn on_runtime_upgrade() -> Weight

Perform a module upgrade. Read more
§

fn offchain_worker(_n: BlockNumber)

Implementing this function on a module allows you to perform long-running tasks that make (by default) validators generate transactions that feed results of those long-running computations back on chain. Read more
§

fn integrity_test()

Run integrity test. Read more
source§

impl<T: Config> IntegrityTest for Pallet<T>

source§

fn integrity_test()

Run integrity test. Read more
source§

impl<T: Config> OffchainWorker<<T as Config>::BlockNumber> for Pallet<T>

source§

fn offchain_worker(n: <T as Config>::BlockNumber)

This function is being called after every block import (when fully synced). Read more
source§

impl<T: Config> OnFinalize<<T as Config>::BlockNumber> for Pallet<T>

source§

fn on_finalize(n: <T as Config>::BlockNumber)

The block is being finalized. Implement to have something happen. Read more
source§

impl<T: Config> OnGenesis for Pallet<T>

source§

fn on_genesis()

Something that should happen at genesis.
source§

impl<T: Config> OnIdle<<T as Config>::BlockNumber> for Pallet<T>

source§

fn on_idle(n: <T as Config>::BlockNumber, remaining_weight: Weight) -> Weight

The block is being finalized. Implement to have something happen in case there is leftover weight. Check the passed remaining_weight to make sure it is high enough to allow for your pallet’s extra computation. Read more
source§

impl<T: Config> OnInitialize<<T as Config>::BlockNumber> for Pallet<T>

source§

fn on_initialize(n: <T as Config>::BlockNumber) -> Weight

The block is being initialized. Implement to have something happen. Read more
source§

impl<T: Config> OnRuntimeUpgrade for Pallet<T>

source§

fn on_runtime_upgrade() -> Weight

Perform a module upgrade. Read more
source§

impl<T: Config> PalletInfoAccess for Pallet<T>

source§

fn index() -> usize

Index of the pallet as configured in the runtime.
source§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
source§

impl<T: Config> PalletsInfoAccess for Pallet<T>

source§

fn count() -> usize

The number of pallets’ information that this type represents. Read more
source§

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
source§

impl<T> PartialEq<Pallet<T>> for Pallet<T>

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T: Config> StorageInfoTrait for Pallet<T>

source§

fn storage_info() -> Vec<StorageInfo>

source§

impl<T: Config> WhitelistedStorageKeys for Pallet<T>

source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a Vec<TrackedStorageKey> indicating the storage keys that should be whitelisted during benchmarking. This means that those keys will be excluded from the benchmarking performance calculation.
source§

impl<T> Eq for Pallet<T>

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Pallet<T>where T: RefUnwindSafe,

§

impl<T> Send for Pallet<T>where T: Send,

§

impl<T> Sync for Pallet<T>where T: Sync,

§

impl<T> Unpin for Pallet<T>where T: Unpin,

§

impl<T> UnwindSafe for Pallet<T>where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> Twhere Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> Downcast for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for Twhere T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> DynClone for Twhere T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

§

impl<T> PalletVersionToStorageVersionHelper for Twhere T: GetStorageVersion + PalletInfoAccess,

§

fn migrate(db_weight: &RuntimeDbWeight) -> Weight

§

impl<T> Pipe for Twhere T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R ) -> Rwhere Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
§

impl<T> SaturatedConversion for T

§

fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
§

fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<T> MaybeDebug for Twhere T: Debug,

§

impl<T> MaybeDebug for Twhere T: Debug,

§

impl<T> MaybeRefUnwindSafe for Twhere T: RefUnwindSafe,

§

impl<T> Member for Twhere T: Send + Sync + Debug + Eq + PartialEq<T> + Clone + 'static,