pub struct CallApi<'api> { /* private fields */ }Implementations§
source§impl<'api> CallApi<'api>
impl<'api> CallApi<'api>
sourcepub fn set_prune_historical_pips(&self, prune: bool) -> Result<WrappedCall<'api>>
pub fn set_prune_historical_pips(&self, prune: bool) -> Result<WrappedCall<'api>>
Change whether completed PIPs are pruned. Can only be called by root.
Arguments
prunespecifies whether completed PIPs should be pruned.
sourcepub fn set_min_proposal_deposit(
&self,
deposit: u128
) -> Result<WrappedCall<'api>>
pub fn set_min_proposal_deposit(
&self,
deposit: u128
) -> Result<WrappedCall<'api>>
Change the minimum proposal deposit amount required to start a proposal. Can only be called by root.
Arguments
depositthe new min deposit required to start a proposal
sourcepub fn set_default_enactment_period(
&self,
duration: u32
) -> Result<WrappedCall<'api>>
pub fn set_default_enactment_period(
&self,
duration: u32
) -> Result<WrappedCall<'api>>
Change the default enactment period. Can only be called by root.
Arguments
durationthe new default enactment period it takes for a scheduled PIP to be executed.
sourcepub fn set_pending_pip_expiry(
&self,
expiry: MaybeBlock<u32>
) -> Result<WrappedCall<'api>>
pub fn set_pending_pip_expiry(
&self,
expiry: MaybeBlock<u32>
) -> Result<WrappedCall<'api>>
Change the amount of blocks after which a pending PIP is expired.
If expiry is None then PIPs never expire.
Can only be called by root.
Arguments
expirythe block-time it takes for a still-PendingPIP to expire.
sourcepub fn set_max_pip_skip_count(&self, max: u8) -> Result<WrappedCall<'api>>
pub fn set_max_pip_skip_count(&self, max: u8) -> Result<WrappedCall<'api>>
Change the maximum skip count (max_pip_skip_count).
Can only be called by root.
Arguments
maxskips before a PIP cannot be skipped by GC anymore.
sourcepub fn set_active_pip_limit(&self, limit: u32) -> Result<WrappedCall<'api>>
pub fn set_active_pip_limit(&self, limit: u32) -> Result<WrappedCall<'api>>
Change the maximum number of active PIPs before community members cannot propose anything. Can only be called by root.
Arguments
limitof concurrent active PIPs.
sourcepub fn propose(
&self,
proposal: Call,
deposit: u128,
url: Option<Url>,
description: Option<PipDescription>
) -> Result<WrappedCall<'api>>
pub fn propose(
&self,
proposal: Call,
deposit: u128,
url: Option<Url>,
description: Option<PipDescription>
) -> Result<WrappedCall<'api>>
A network member creates a PIP by submitting a dispatchable which changes the network in someway. A minimum deposit is required to open a new proposal.
Arguments
proposeris either a signing key or committee. Used to understand whether this is a committee proposal and verified againstorigin.proposala dispatchable calldepositminimum deposit value, which is ignored ifproposeris a committee.urla link to a website for proposal discussion
sourcepub fn vote(
&self,
id: PipId,
aye_or_nay: bool,
deposit: u128
) -> Result<WrappedCall<'api>>
pub fn vote(
&self,
id: PipId,
aye_or_nay: bool,
deposit: u128
) -> Result<WrappedCall<'api>>
Vote either in favor (aye_or_nay == true) or against a PIP with id.
The “convinction” or strength of the vote is given by deposit, which is reserved.
Note that vote is not additive.
That is, vote(id, true, 50) followed by vote(id, true, 40)
will first reserve 50 and then refund 50 - 10, ending up with 40 in deposit.
To add atop of existing votes, you’ll need existing_deposit + addition.
Arguments
id, proposal idaye_or_nay, a bool representing for or against votedeposit, the “conviction” with which the vote is made.
Errors
NoSuchProposalifiddoesn’t reference a valid PIP.NotFromCommunityif proposal was made by a committee.IncorrectProposalStateif PIP isn’t pending.InsufficientDepositiforigincannot reservedeposit - old_deposit.
sourcepub fn approve_committee_proposal(&self, id: PipId) -> Result<WrappedCall<'api>>
pub fn approve_committee_proposal(&self, id: PipId) -> Result<WrappedCall<'api>>
Approves the pending committee PIP given by the id.
Errors
BadOriginunless a GC voting majority executes this function.NoSuchProposalif the PIP withiddoesn’t exist.IncorrectProposalStateif the proposal isn’t pending.NotByCommitteeif the proposal isn’t by a committee.
sourcepub fn reject_proposal(&self, id: PipId) -> Result<WrappedCall<'api>>
pub fn reject_proposal(&self, id: PipId) -> Result<WrappedCall<'api>>
Rejects the PIP given by the id, refunding any bonded funds,
assuming it hasn’t been cancelled or executed.
Note that proposals scheduled-for-execution can also be rejected.
Errors
BadOriginunless a GC voting majority executes this function.NoSuchProposalif the PIP withiddoesn’t exist.IncorrectProposalStateif the proposal was cancelled or executed.
sourcepub fn prune_proposal(&self, id: PipId) -> Result<WrappedCall<'api>>
pub fn prune_proposal(&self, id: PipId) -> Result<WrappedCall<'api>>
Prune the PIP given by the id, refunding any funds not already refunded.
The PIP may not be active
This function is intended for storage garbage collection purposes.
Errors
BadOriginunless a GC voting majority executes this function.NoSuchProposalif the PIP withiddoesn’t exist.IncorrectProposalStateif the proposal is active.
sourcepub fn reschedule_execution(
&self,
id: PipId,
until: Option<u32>
) -> Result<WrappedCall<'api>>
pub fn reschedule_execution(
&self,
id: PipId,
until: Option<u32>
) -> Result<WrappedCall<'api>>
Updates the execution schedule of the PIP given by id.
Arguments
untildefines the future block where the enactment period will finished.Nonevalue means that enactment period is going to finish in the next block.
Errors
RescheduleNotByReleaseCoordinatorunless triggered by release coordinator.IncorrectProposalStateunless the proposal was in a scheduled state.
sourcepub fn clear_snapshot(&self) -> Result<WrappedCall<'api>>
pub fn clear_snapshot(&self) -> Result<WrappedCall<'api>>
Clears the snapshot and emits the event SnapshotCleared.
Errors
NotACommitteeMember- triggered when a non-GC-member executes the function.
sourcepub fn snapshot(&self) -> Result<WrappedCall<'api>>
pub fn snapshot(&self) -> Result<WrappedCall<'api>>
Takes a new snapshot of the current list of active && pending PIPs. The PIPs are then sorted into a priority queue based on each PIP’s weight.
Errors
NotACommitteeMember- triggered when a non-GC-member executes the function.
sourcepub fn enact_snapshot_results(
&self,
results: Vec<(PipId, SnapshotResult)>
) -> Result<WrappedCall<'api>>
pub fn enact_snapshot_results(
&self,
results: Vec<(PipId, SnapshotResult)>
) -> Result<WrappedCall<'api>>
Enacts results for the PIPs in the snapshot queue.
The snapshot will be available for further enactments until it is cleared.
The results are encoded a list of (id, result) where result is applied to id.
Note that the snapshot priority queue is encoded with the lowest priority first.
so results = [(id, Approve)] will approve SnapshotQueue[SnapshotQueue.len() - 1].
Errors
BadOrigin- unless a GC voting majority executes this function.CannotSkipPip- a given PIP has already been skipped too many times.SnapshotResultTooLarge- on len(results) > len(snapshot_queue).SnapshotIdMismatch- if:This is protects against clearing queue while GC is voting.∃ (i ∈ 0..SnapshotQueue.len()). results[i].0 ≠ SnapshotQueue[SnapshotQueue.len() - i].id
sourcepub fn execute_scheduled_pip(&self, id: PipId) -> Result<WrappedCall<'api>>
pub fn execute_scheduled_pip(&self, id: PipId) -> Result<WrappedCall<'api>>
Internal dispatchable that handles execution of a PIP.
sourcepub fn expire_scheduled_pip(
&self,
did: IdentityId,
id: PipId
) -> Result<WrappedCall<'api>>
pub fn expire_scheduled_pip(
&self,
did: IdentityId,
id: PipId
) -> Result<WrappedCall<'api>>
Internal dispatchable that handles expiration of a PIP.
Trait Implementations§
Auto Trait Implementations§
impl<'api> !RefUnwindSafe for CallApi<'api>
impl<'api> Send for CallApi<'api>
impl<'api> Sync for CallApi<'api>
impl<'api> Unpin for CallApi<'api>
impl<'api> !UnwindSafe for CallApi<'api>
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> 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<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>
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T. Read more§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.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.