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
origin
which must be an external agent ofticker
with relevant permissions.ticker
for which the default identities are changing.targets
the default target identities for a CA.
Errors
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
.TooManyTargetIds
iftargets.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
origin
which must be an external agent ofticker
with relevant permissions.ticker
that the withholding tax will apply to.tax
that should be withheld when distributing dividends, etc.
Errors
UnauthorizedAgent
iforigin
is 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
origin
which must be an external agent ofticker
with relevant permissions.ticker
that the withholding tax will apply to.taxed_did
that will have its withholding tax updated.tax
that should be withheld when distributing dividends, etc.
Errors
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
.TooManyDidTaxes
ifSome(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
origin
which must be an external agent ofticker
with relevant permissions.ticker
that the CA is made for.kind
of CA being initiated.decl_date
of 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.details
of 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
DetailsTooLong
ifdetails.len()
goes beyondmax_details_length
.UnauthorizedAgent
iforigin
is not agent-permissioned forticker
.CounterOverflow
in the unlikely event that so many CAs were created for thisticker
, that integer overflow would have occured if instead allowed.TooManyDidTaxes
ifwithholding_tax.unwrap().len()
would go over the limitMaxDidWhts
.DuplicateDidTax
if a DID is included more than once inwt
.TooManyTargetIds
iftargets.unwrap().identities.len() > T::MaxTargetIds::get()
.DeclDateInFuture
if 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
origin
which must be an external agent ofid.ticker
with relevant permissions.id
of the CA to associate withdocs
.docs
to associate with the CA withid
.
Errors
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
.NoSuchCA
ifid
does not identify an existing CA.NoSuchDoc
if any ofdocs
does 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
origin
which must be an external agent ofca_id.ticker
with relevant permissions.ca_id
of the CA to remove.
Errors
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
.NoSuchCA
ifid
does 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
origin
which must be an external agent ofca_id.ticker
with relevant permissions.ca_id
of 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
UnauthorizedAgent
iforigin
is not agent-permissioned forticker
.NoSuchCA
ifid
does 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
.§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
.§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.§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.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>
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
.