pub trait Trading<AccountId, ItemPrice>: Inspect<AccountId> {
// Required methods
fn buy_item(
collection: &Self::CollectionId,
item: &Self::ItemId,
buyer: &AccountId,
bid_price: &ItemPrice,
) -> DispatchResult;
fn set_price(
collection: &Self::CollectionId,
item: &Self::ItemId,
sender: &AccountId,
price: Option<ItemPrice>,
whitelisted_buyer: Option<AccountId>,
) -> DispatchResult;
fn item_price(
collection: &Self::CollectionId,
item: &Self::ItemId,
) -> Option<ItemPrice>;
}
Expand description
Trait for trading non-fungible items.
Required Methods§
Sourcefn buy_item(
collection: &Self::CollectionId,
item: &Self::ItemId,
buyer: &AccountId,
bid_price: &ItemPrice,
) -> DispatchResult
fn buy_item( collection: &Self::CollectionId, item: &Self::ItemId, buyer: &AccountId, bid_price: &ItemPrice, ) -> DispatchResult
Allows buyer
to buy an item
of collection
if it’s up for sale with a bid_price
to
pay.
Sourcefn set_price(
collection: &Self::CollectionId,
item: &Self::ItemId,
sender: &AccountId,
price: Option<ItemPrice>,
whitelisted_buyer: Option<AccountId>,
) -> DispatchResult
fn set_price( collection: &Self::CollectionId, item: &Self::ItemId, sender: &AccountId, price: Option<ItemPrice>, whitelisted_buyer: Option<AccountId>, ) -> DispatchResult
Sets the item price for item
to make it available for sale.
Sourcefn item_price(
collection: &Self::CollectionId,
item: &Self::ItemId,
) -> Option<ItemPrice>
fn item_price( collection: &Self::CollectionId, item: &Self::ItemId, ) -> Option<ItemPrice>
Returns the item price of item
or None
if the item is not for sale.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.