pub struct ExercisedEvent {Show 15 fields
pub offset: i64,
pub node_id: i32,
pub contract_id: String,
pub template_id: Option<Identifier>,
pub interface_id: Option<Identifier>,
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<Value>,
pub package_name: String,
pub implemented_interfaces: Vec<Identifier>,
pub acs_delta: bool,
}Expand description
Records that a choice has been exercised on a target contract.
Fields§
§offset: i64The 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: i32The 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: StringThe ID of the target contract.
Must be a valid LedgerString (as described in value.proto).
Required
template_id: Option<Identifier>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<Identifier>The interface where the choice is defined, if inherited. If defined, the identifier uses the package-id reference format.
Optional
choice: StringThe 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: boolIf 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: i32Specifies 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<Value>The result of exercising the choice.
Optional
package_name: StringThe package name of the contract.
Required
implemented_interfaces: Vec<Identifier>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: boolWhether this event would be part of respective ACS_DELTA shaped stream, and should therefore considered when tracking contract activeness on the client-side.
Required
Trait Implementations§
Source§impl Clone for ExercisedEvent
impl Clone for ExercisedEvent
Source§fn clone(&self) -> ExercisedEvent
fn clone(&self) -> ExercisedEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExercisedEvent
impl Debug for ExercisedEvent
Source§impl Default for ExercisedEvent
impl Default for ExercisedEvent
Source§fn default() -> ExercisedEvent
fn default() -> ExercisedEvent
Source§impl Message for ExercisedEvent
impl Message for ExercisedEvent
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for ExercisedEvent
impl PartialEq for ExercisedEvent
impl StructuralPartialEq for ExercisedEvent
Auto Trait Implementations§
impl Freeze for ExercisedEvent
impl RefUnwindSafe for ExercisedEvent
impl Send for ExercisedEvent
impl Sync for ExercisedEvent
impl Unpin for ExercisedEvent
impl UnsafeUnpin for ExercisedEvent
impl UnwindSafe for ExercisedEvent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request