Enum pallet_asset_management::pallet::Call
source · pub enum Call<T: Config> {
execute_call_dispatch {
account_id: AccountIdOf<T>,
proposal: Box<<T as Config>::Call>,
},
request_asset_management {
account_id: AccountIdOf<T>,
},
launch_representative_session {
asset_type: PossibleCollections,
asset_id: T::NftItemId,
representative: T::AccountId,
proposal: VoteProposals,
},
owners_vote {
referendum_index: ReferendumIndex,
vote: bool,
},
representative_approval {
rep_account: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId,
},
demote_representative {
rep_account: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId,
},
launch_tenant_session {
asset_type: PossibleCollections,
asset_id: T::NftItemId,
tenant: T::AccountId,
proposal: VoteProposals,
judgement: Judgement<IdentBalanceOf<T>>,
},
link_tenant_to_asset {
tenant: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId,
},
request_guaranty_payment {
from: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId,
judgement: Judgement<IdentBalanceOf<T>>,
},
unlink_tenant_to_asset {
tenant: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId,
},
// some variants omitted
}
Expand description
Contains one variant per dispatchable that can be called by an extrinsic.
Variants§
execute_call_dispatch
Build the call to be executed when the proposal pass the democracy vote The origin must but root
- account_id : the virtual account of the asset of the proposal
- proposal : call encapsulating the inital proposal
request_asset_management
Fields
account_id: AccountIdOf<T>
Using the function below, an active Representative can request an additional asset to manage. The origin must be an active Representative.
- account_id: an account with the representative role
launch_representative_session
Fields
asset_type: PossibleCollections
asset_id: T::NftItemId
representative: T::AccountId
proposal: VoteProposals
Using the function below, an owner triggers a vote session with a proposal for an asset The origin must be an owner of the asset
- asset_type: type of the asset
- asset_id: id of the asset
- representative: an account with the representative role to be designed
- proposal contains the extrinsics to be executed depending on the vote result
owners_vote
The function below allows the owner to vote. The balance locked and used for vote conviction corresponds to the number of ownership tokens possessed by the voter. The origin must be an owner of the asset
- referendum_index: index of the referendum the voter is taking part in
- vote: aye or nay
representative_approval
The function below allows the approval of a Representative role request The origin must be the virtual account connected to the asset
- rep_account: account Of the candidate to the representative account
- collection: collection number of the asset.
- item: item number of the asset.
demote_representative
The function below allows the demotion of a previously elected Representative The origin must be the virtual account connected to the asset
- rep_account: account Of the candidate to the representative account
- collection: collection_id of the asset.
- item: item_id of the asset.
launch_tenant_session
Fields
asset_type: PossibleCollections
asset_id: T::NftItemId
tenant: T::AccountId
proposal: VoteProposals
judgement: Judgement<IdentBalanceOf<T>>
Using the function below, a representative triggers a vote session with a proposal for a tenant to be linked with an asset The origin must be a representative
- asset_type: type of the asset
- asset_id: id of the asset
- tenant: an account with the tenant role
link_tenant_to_asset
The function below links an accepted tenant with an existing asset The origin must be the virtual account connected to the asset
- tenant: an account with the tenant role
- collection: collection_id of the asset
- item: item_id of the asset
request_guaranty_payment
Fields
from: T::AccountId
collection: T::NftCollectionId
item: T::NftItemId
judgement: Judgement<IdentBalanceOf<T>>
The function below sends a guaranty deposiy payment request to a tenant. This extrinsic is executed After a positive tenant_session. The origin must be the virtual account connected to the asset
- tenant: an account with the tenant role linked to the asset
- collection: collection_id of the asset
- item: item_id of the asset
- _judgement is provided by the representative while creating a tenant session
unlink_tenant_to_asset
The function below unlinks a tenant with an asset The origin must be the virtual account connected to the asset
- tenant: an account with the tenant role linked to the asset
- collection: collection_id of the asset
- item: item_id of the asset
Implementations§
source§impl<T: Config> Call<T>
impl<T: Config> Call<T>
sourcepub fn new_call_variant_execute_call_dispatch(
account_id: AccountIdOf<T>,
proposal: Box<<T as Config>::Call>
) -> Self
pub fn new_call_variant_execute_call_dispatch(
account_id: AccountIdOf<T>,
proposal: Box<<T as Config>::Call>
) -> Self
Create a call with the variant execute_call_dispatch
.
sourcepub fn new_call_variant_request_asset_management(
account_id: AccountIdOf<T>
) -> Self
pub fn new_call_variant_request_asset_management(
account_id: AccountIdOf<T>
) -> Self
Create a call with the variant request_asset_management
.
sourcepub fn new_call_variant_launch_representative_session(
asset_type: PossibleCollections,
asset_id: T::NftItemId,
representative: T::AccountId,
proposal: VoteProposals
) -> Self
pub fn new_call_variant_launch_representative_session(
asset_type: PossibleCollections,
asset_id: T::NftItemId,
representative: T::AccountId,
proposal: VoteProposals
) -> Self
Create a call with the variant launch_representative_session
.
sourcepub fn new_call_variant_owners_vote(
referendum_index: ReferendumIndex,
vote: bool
) -> Self
pub fn new_call_variant_owners_vote(
referendum_index: ReferendumIndex,
vote: bool
) -> Self
Create a call with the variant owners_vote
.
sourcepub fn new_call_variant_representative_approval(
rep_account: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId
) -> Self
pub fn new_call_variant_representative_approval(
rep_account: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId
) -> Self
Create a call with the variant representative_approval
.
sourcepub fn new_call_variant_demote_representative(
rep_account: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId
) -> Self
pub fn new_call_variant_demote_representative(
rep_account: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId
) -> Self
Create a call with the variant demote_representative
.
sourcepub fn new_call_variant_launch_tenant_session(
asset_type: PossibleCollections,
asset_id: T::NftItemId,
tenant: T::AccountId,
proposal: VoteProposals,
judgement: Judgement<IdentBalanceOf<T>>
) -> Self
pub fn new_call_variant_launch_tenant_session(
asset_type: PossibleCollections,
asset_id: T::NftItemId,
tenant: T::AccountId,
proposal: VoteProposals,
judgement: Judgement<IdentBalanceOf<T>>
) -> Self
Create a call with the variant launch_tenant_session
.
sourcepub fn new_call_variant_link_tenant_to_asset(
tenant: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId
) -> Self
pub fn new_call_variant_link_tenant_to_asset(
tenant: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId
) -> Self
Create a call with the variant link_tenant_to_asset
.
sourcepub fn new_call_variant_request_guaranty_payment(
from: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId,
judgement: Judgement<IdentBalanceOf<T>>
) -> Self
pub fn new_call_variant_request_guaranty_payment(
from: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId,
judgement: Judgement<IdentBalanceOf<T>>
) -> Self
Create a call with the variant request_guaranty_payment
.
sourcepub fn new_call_variant_unlink_tenant_to_asset(
tenant: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId
) -> Self
pub fn new_call_variant_unlink_tenant_to_asset(
tenant: T::AccountId,
collection: T::NftCollectionId,
item: T::NftItemId
) -> Self
Create a call with the variant unlink_tenant_to_asset
.
Trait Implementations§
source§impl<T: Config> Decode for Call<T>
impl<T: Config> Decode for Call<T>
source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
§fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
source§impl<T: Config> Encode for Call<T>
impl<T: Config> Encode for Call<T>
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
source§impl<T: Config> GetCallName for Call<T>
impl<T: Config> GetCallName for Call<T>
source§fn get_call_name(&self) -> &'static str
fn get_call_name(&self) -> &'static str
source§fn get_call_names() -> &'static [&'static str]
fn get_call_names() -> &'static [&'static str]
source§impl<T: Config> GetDispatchInfo for Call<T>
impl<T: Config> GetDispatchInfo for Call<T>
source§fn get_dispatch_info(&self) -> DispatchInfo
fn get_dispatch_info(&self) -> DispatchInfo
DispatchInfo
, containing relevant information of this dispatch. Read moresource§impl<T> TypeInfo for Call<T>where
PhantomData<(T,)>: TypeInfo + 'static,
AccountIdOf<T>: TypeInfo + 'static,
Box<<T as Config>::Call>: TypeInfo + 'static,
T::NftItemId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::NftCollectionId: TypeInfo + 'static,
Judgement<IdentBalanceOf<T>>: TypeInfo + 'static,
T: Config + 'static,
impl<T> TypeInfo for Call<T>where
PhantomData<(T,)>: TypeInfo + 'static,
AccountIdOf<T>: TypeInfo + 'static,
Box<<T as Config>::Call>: TypeInfo + 'static,
T::NftItemId: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T::NftCollectionId: TypeInfo + 'static,
Judgement<IdentBalanceOf<T>>: TypeInfo + 'static,
T: Config + 'static,
source§impl<T: Config> UnfilteredDispatchable for Call<T>
impl<T: Config> UnfilteredDispatchable for Call<T>
§type Origin = <T as Config>::Origin
type Origin = <T as Config>::Origin
frame_system::Config::Origin
).source§fn dispatch_bypass_filter(
self,
origin: Self::Origin
) -> DispatchResultWithPostInfo
fn dispatch_bypass_filter(
self,
origin: Self::Origin
) -> DispatchResultWithPostInfo
impl<T: Config> EncodeLike<Call<T>> for Call<T>
impl<T: Config> Eq for Call<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Call<T>where
T: RefUnwindSafe,
<T as Config>::AccountId: RefUnwindSafe,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: RefUnwindSafe,
<T as Config>::Call: RefUnwindSafe,
<T as Config>::NftCollectionId: RefUnwindSafe,
<T as Config>::NftItemId: RefUnwindSafe,
impl<T> Send for Call<T>where
T: Send,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Send,
<T as Config>::Call: Send,
impl<T> Sync for Call<T>where
T: Sync,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Sync,
<T as Config>::Call: Sync,
impl<T> Unpin for Call<T>where
T: Unpin,
<T as Config>::AccountId: Unpin,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: Unpin,
<T as Config>::NftCollectionId: Unpin,
<T as Config>::NftItemId: Unpin,
impl<T> UnwindSafe for Call<T>where
T: UnwindSafe,
<T as Config>::AccountId: UnwindSafe,
<<T as Config>::Currency as Currency<<T as Config>::AccountId>>::Balance: UnwindSafe,
<T as Config>::Call: UnwindSafe,
<T as Config>::NftCollectionId: UnwindSafe,
<T as Config>::NftItemId: UnwindSafe,
Blanket Implementations§
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
§impl<T> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere
T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Self
and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
. Read more§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read moresource§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Hashable for Twhere
T: Codec,
impl<T> Hashable for Twhere
T: Codec,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere
T: Codec,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read more§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.