radix_engine_interface/types/
invocation.rs1use crate::internal_prelude::*;
2use crate::types::*;
3use core::fmt::Formatter;
4use radix_common::address::{AddressDisplayContext, NO_NETWORK};
5use radix_rust::ContextualDisplay;
6use sbor::rust::prelude::*;
7use sbor::rust::string::String;
8
9#[derive(Clone, Eq, PartialEq, ScryptoSbor)]
10pub struct FnIdentifier {
11 pub blueprint_id: BlueprintId,
12 pub ident: String,
13}
14
15impl<'a> ContextualDisplay<AddressDisplayContext<'a>> for FnIdentifier {
16 type Error = fmt::Error;
17
18 fn contextual_format<F: fmt::Write>(
19 &self,
20 f: &mut F,
21 context: &AddressDisplayContext<'a>,
22 ) -> Result<(), Self::Error> {
23 write!(
24 f,
25 "{}:{:?}",
26 self.blueprint_id.display(*context),
27 self.ident,
28 )
29 }
30}
31
32impl Debug for FnIdentifier {
33 fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
34 write!(f, "{}", self.display(NO_NETWORK))
35 }
36}