Struct polymesh_api::polymesh::api::corporate_action::CallApi
source · pub struct CallApi<'api> { /* private fields */ }Implementations§
source§impl<'api> CallApi<'api>
impl<'api> CallApi<'api>
sourcepub fn set_max_details_length(&self, length: u32) -> Result<WrappedCall<'api>>
pub fn set_max_details_length(&self, length: u32) -> Result<WrappedCall<'api>>
Set the max length of details in terms of bytes.
May only be called via a PIP.
sourcepub fn set_default_targets(
&self,
ticker: Ticker,
targets: TargetIdentities
) -> Result<WrappedCall<'api>>
pub fn set_default_targets(
&self,
ticker: Ticker,
targets: TargetIdentities
) -> Result<WrappedCall<'api>>
Set the default CA TargetIdentities to targets.
Arguments
originwhich must be an external agent oftickerwith relevant permissions.tickerfor which the default identities are changing.targetsthe default target identities for a CA.
Errors
UnauthorizedAgentiforiginis not agent-permissioned forticker.TooManyTargetIdsiftargets.identities.len() > T::MaxTargetIds::get().
Permissions
- Asset
sourcepub fn set_default_withholding_tax(
&self,
ticker: Ticker,
tax: Permill
) -> Result<WrappedCall<'api>>
pub fn set_default_withholding_tax(
&self,
ticker: Ticker,
tax: Permill
) -> Result<WrappedCall<'api>>
Set the default withholding tax for all DIDs and CAs relevant to this ticker.
Arguments
originwhich must be an external agent oftickerwith relevant permissions.tickerthat the withholding tax will apply to.taxthat should be withheld when distributing dividends, etc.
Errors
UnauthorizedAgentiforiginis not agent-permissioned forticker.
Permissions
- Asset
sourcepub fn set_did_withholding_tax(
&self,
ticker: Ticker,
taxed_did: IdentityId,
tax: Option<Permill>
) -> Result<WrappedCall<'api>>
pub fn set_did_withholding_tax(
&self,
ticker: Ticker,
taxed_did: IdentityId,
tax: Option<Permill>
) -> Result<WrappedCall<'api>>
Set the withholding tax of ticker for taxed_did to tax.
If Some(tax), this overrides the default withholding tax of ticker to tax for taxed_did.
Otherwise, if None, the default withholding tax will be used.
Arguments
originwhich must be an external agent oftickerwith relevant permissions.tickerthat the withholding tax will apply to.taxed_didthat will have its withholding tax updated.taxthat should be withheld when distributing dividends, etc.
Errors
UnauthorizedAgentiforiginis not agent-permissioned forticker.TooManyDidTaxesifSome(tax)and adding the override would go over the limitMaxDidWhts.
Permissions
- Asset
sourcepub fn initiate_corporate_action(
&self,
ticker: Ticker,
kind: CAKind,
decl_date: u64,
record_date: Option<RecordDateSpec>,
details: CADetails,
targets: Option<TargetIdentities>,
default_withholding_tax: Option<Permill>,
withholding_tax: Option<Vec<(IdentityId, Permill)>>
) -> Result<WrappedCall<'api>>
pub fn initiate_corporate_action(
&self,
ticker: Ticker,
kind: CAKind,
decl_date: u64,
record_date: Option<RecordDateSpec>,
details: CADetails,
targets: Option<TargetIdentities>,
default_withholding_tax: Option<Permill>,
withholding_tax: Option<Vec<(IdentityId, Permill)>>
) -> Result<WrappedCall<'api>>
Initiates a CA for ticker of kind with details and other provided arguments.
Arguments
originwhich must be an external agent oftickerwith relevant permissions.tickerthat the CA is made for.kindof CA being initiated.decl_dateof CA bring initialized.record_date, if any, to calculate the impact of this CA. If provided, this results in a scheduled balance snapshot (“checkpoint”) at the date.detailsof the CA in free-text form, up to a certain number of bytes in length.targets, if any, which this CA is relevant/irrelevant to. Overrides, if provided, the default at the asset level (set_default_targets).default_withholding_tax, if any, is the default withholding tax to use for this CA. Overrides, if provided, the default at the asset level (set_default_withholding_tax).withholding_tax, if any, provides per-DID withholding tax overrides. Overrides, if provided, the default at the asset level (set_did_withholding_tax).
Errors
DetailsTooLongifdetails.len()goes beyondmax_details_length.UnauthorizedAgentiforiginis not agent-permissioned forticker.CounterOverflowin the unlikely event that so many CAs were created for thisticker, that integer overflow would have occured if instead allowed.TooManyDidTaxesifwithholding_tax.unwrap().len()would go over the limitMaxDidWhts.DuplicateDidTaxif a DID is included more than once inwt.TooManyTargetIdsiftargets.unwrap().identities.len() > T::MaxTargetIds::get().DeclDateInFutureif the declaration date is not in the past.- When
record_date.is_some(), other errors due to checkpoint scheduling may occur.
Permissions
- Asset
sourcepub fn link_ca_doc(
&self,
id: CAId,
docs: Vec<DocumentId>
) -> Result<WrappedCall<'api>>
pub fn link_ca_doc(
&self,
id: CAId,
docs: Vec<DocumentId>
) -> Result<WrappedCall<'api>>
Link the given CA id to the given docs.
Any previous links for the CA are removed in favor of docs.
The workflow here is to add the documents and initiating the CA in any order desired. Once both exist, they can now be linked together.
Arguments
originwhich must be an external agent ofid.tickerwith relevant permissions.idof the CA to associate withdocs.docsto associate with the CA withid.
Errors
UnauthorizedAgentiforiginis not agent-permissioned forticker.NoSuchCAifiddoes not identify an existing CA.NoSuchDocif any ofdocsdoes not identify an existing document.
Permissions
- Asset
sourcepub fn remove_ca(&self, ca_id: CAId) -> Result<WrappedCall<'api>>
pub fn remove_ca(&self, ca_id: CAId) -> Result<WrappedCall<'api>>
Removes the CA identified by ca_id.
Associated data, such as document links, ballots, and capital distributions are also removed.
Any schedule associated with the record date will see
strong_ref_count(schedule_id) decremented.
Arguments
originwhich must be an external agent ofca_id.tickerwith relevant permissions.ca_idof the CA to remove.
Errors
UnauthorizedAgentiforiginis not agent-permissioned forticker.NoSuchCAifiddoes not identify an existing CA.
Permissions
- Asset
sourcepub fn change_record_date(
&self,
ca_id: CAId,
record_date: Option<RecordDateSpec>
) -> Result<WrappedCall<'api>>
pub fn change_record_date(
&self,
ca_id: CAId,
record_date: Option<RecordDateSpec>
) -> Result<WrappedCall<'api>>
Changes the record date of the CA identified by ca_id.
Arguments
originwhich must be an external agent ofca_id.tickerwith relevant permissions.ca_idof the CA to alter.record_date, if any, to calculate the impact of the CA. If provided, this results in a scheduled balance snapshot (“checkpoint”) at the date.
Errors
UnauthorizedAgentiforiginis not agent-permissioned forticker.NoSuchCAifiddoes not identify an existing CA.- When
record_date.is_some(), other errors due to checkpoint scheduling may occur.
Permissions
- Asset
sourcepub fn initiate_corporate_action_and_distribute(
&self,
ca_args: InitiateCorporateActionArgs,
portfolio: Option<PortfolioNumber>,
currency: Ticker,
per_share: u128,
amount: u128,
payment_at: u64,
expires_at: Option<u64>
) -> Result<WrappedCall<'api>>
pub fn initiate_corporate_action_and_distribute(
&self,
ca_args: InitiateCorporateActionArgs,
portfolio: Option<PortfolioNumber>,
currency: Ticker,
per_share: u128,
amount: u128,
payment_at: u64,
expires_at: Option<u64>
) -> Result<WrappedCall<'api>>
Utility extrinsic to batch initiate_corporate_action and distribute
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.