Skip to main content

ExercisedEvent

Struct ExercisedEvent 

Source
pub struct ExercisedEvent {
Show 15 fields pub offset: i64, pub node_id: i32, pub contract_id: String, pub template_id: String, pub interface_id: Option<String>, pub choice: String, pub choice_argument: Option<Value>, pub acting_parties: Vec<String>, pub consuming: bool, pub witness_parties: Vec<String>, pub last_descendant_node_id: i32, pub exercise_result: Option<Option<Value>>, pub package_name: String, pub implemented_interfaces: Option<Vec<String>>, pub acs_delta: bool,
}
Expand description

ExercisedEvent : Records that a choice has been exercised on a target contract.

Fields§

§offset: i64

The offset of origin. Offsets are managed by the participant nodes. Transactions can thus NOT be assumed to have the same offsets on different participant nodes. It is a valid absolute offset (positive integer) Required

§node_id: i32

The position of this event in the originating transaction or reassignment. Node IDs are not necessarily equal across participants, as these may see different projections/parts of transactions. Must be valid node ID (non-negative integer) Required

§contract_id: String

The ID of the target contract. Must be a valid LedgerString (as described in value.proto). Required

§template_id: String

Identifies the template that defines the executed choice. This template’s package-id may differ from the target contract’s package-id if the target contract has been upgraded or downgraded. The identifier uses the package-id reference format. Required

§interface_id: Option<String>

The interface where the choice is defined, if inherited. If defined, the identifier uses the package-id reference format. Optional

§choice: String

The choice that was exercised on the target contract. Must be a valid NameString (as described in value.proto). Required

§choice_argument: Option<Value>

The argument of the exercised choice. Required

§acting_parties: Vec<String>

The parties that exercised the choice. Each element must be a valid PartyIdString (as described in value.proto). Required: must be non-empty

§consuming: bool

If true, the target contract may no longer be exercised. Required

§witness_parties: Vec<String>

The parties that are notified of this event. The witnesses of an exercise node will depend on whether the exercise was consuming or not. If consuming, the witnesses are the union of the stakeholders, the actors and all informees of all the ancestors of this event this participant knows about. If not consuming, the witnesses are the union of the signatories, the actors and all informees of all the ancestors of this event this participant knows about. In both cases the witnesses are limited to the querying parties, or not limited in case anyParty filters are used. Note that the actors might not necessarily be observers and thus stakeholders. This is the case when the controllers of a choice are specified using "flexible controllers", using the choice ... controller syntax, and said controllers are not explicitly marked as observers. Each element must be a valid PartyIdString (as described in value.proto). Required: must be non-empty

§last_descendant_node_id: i32

Specifies the upper boundary of the node ids of the events in the same transaction that appeared as a result of this ExercisedEvent. This allows unambiguous identification of all the members of the subtree rooted at this node. A full subtree can be constructed when all descendant nodes are present in the stream. If nodes are heavily filtered, it is only possible to determine if a node is in a consequent subtree or not. Required

§exercise_result: Option<Option<Value>>

The result of exercising the choice. Optional

§package_name: String

The package name of the contract. Required

§implemented_interfaces: Option<Vec<String>>

If the event is consuming, the interfaces implemented by the target template that have been matched from the interface filter query. Populated only in case interface filters with include_interface_view set. The identifier uses the package-id reference format. Optional: can be empty

§acs_delta: bool

Whether this event would be part of respective ACS_DELTA shaped stream, and should therefore considered when tracking contract activeness on the client-side. Required

Implementations§

Source§

impl ExercisedEvent

Source

pub fn new( offset: i64, node_id: i32, contract_id: String, template_id: String, choice: String, choice_argument: Option<Value>, acting_parties: Vec<String>, consuming: bool, witness_parties: Vec<String>, last_descendant_node_id: i32, package_name: String, acs_delta: bool, ) -> ExercisedEvent

Records that a choice has been exercised on a target contract.

Trait Implementations§

Source§

impl Clone for ExercisedEvent

Source§

fn clone(&self) -> ExercisedEvent

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ExercisedEvent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ExercisedEvent

Source§

fn default() -> ExercisedEvent

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for ExercisedEvent

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for ExercisedEvent

Source§

fn eq(&self, other: &ExercisedEvent) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for ExercisedEvent

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for ExercisedEvent

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

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 T
where U: From<T>,

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.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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 T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
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