pub struct CallApi<'api> { /* private fields */ }

Implementations§

source§

impl<'api> CallApi<'api>

source

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.

source

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 of ticker with relevant permissions.
  • ticker for which the default identities are changing.
  • targets the default target identities for a CA.
Errors
  • UnauthorizedAgent if origin is not agent-permissioned for ticker.
  • TooManyTargetIds if targets.identities.len() > T::MaxTargetIds::get().
Permissions
  • Asset
source

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 of ticker with relevant permissions.
  • ticker that the withholding tax will apply to.
  • tax that should be withheld when distributing dividends, etc.
Errors
  • UnauthorizedAgent if origin is not agent-permissioned for ticker.
Permissions
  • Asset
source

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 of ticker 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 if origin is not agent-permissioned for ticker.
  • TooManyDidTaxes if Some(tax) and adding the override would go over the limit MaxDidWhts.
Permissions
  • Asset
source

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 of ticker 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 if details.len() goes beyond max_details_length.
  • UnauthorizedAgent if origin is not agent-permissioned for ticker.
  • CounterOverflow in the unlikely event that so many CAs were created for this ticker, that integer overflow would have occured if instead allowed.
  • TooManyDidTaxes if withholding_tax.unwrap().len() would go over the limit MaxDidWhts.
  • DuplicateDidTax if a DID is included more than once in wt.
  • TooManyTargetIds if targets.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

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 of id.ticker with relevant permissions.
  • id of the CA to associate with docs.
  • docs to associate with the CA with id.
Errors
  • UnauthorizedAgent if origin is not agent-permissioned for ticker.
  • NoSuchCA if id does not identify an existing CA.
  • NoSuchDoc if any of docs does not identify an existing document.
Permissions
  • Asset
source

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 of ca_id.ticker with relevant permissions.
  • ca_id of the CA to remove.
Errors
  • UnauthorizedAgent if origin is not agent-permissioned for ticker.
  • NoSuchCA if id does not identify an existing CA.
Permissions
  • Asset
source

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 of ca_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 if origin is not agent-permissioned for ticker.
  • NoSuchCA if id does not identify an existing CA.
  • When record_date.is_some(), other errors due to checkpoint scheduling may occur.
Permissions
  • Asset
source

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§

source§

impl<'api> Clone for CallApi<'api>

source§

fn clone(&self) -> CallApi<'api>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'api> From<&'api Api> for CallApi<'api>

source§

fn from(api: &'api Api) -> Self

Converts to this type from the input type.

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§

source§

impl<T> Any for Twhere
    T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>where
    Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>where
    Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Downcast for Twhere
    T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>

Convert 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>

Convert 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)

Convert &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)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for Twhere
    T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send + 'static>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> DynClone for Twhere
    T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere
    U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T, Outer> IsWrappedBy<Outer> for Twhere
    Outer: AsRef<T> + AsMut<T> + From<T>,
    T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> SaturatedConversion for T

source§

fn saturated_from<T>(t: T) -> Selfwhere
    Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
source§

fn saturated_into<T>(self) -> Twhere
    Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
source§

impl<T> ToOwned for Twhere
    T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere
    U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere
    U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for Swhere
    T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
source§

impl<T, S> UniqueSaturatedInto<T> for Swhere
    T: Bounded,
    S: TryInto<T>,

source§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for Twhere
    V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
    S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<T> MaybeSend for Twhere
    T: Send,