pub struct TracePrefix { /* private fields */ }
Expand description
One hop in a token’s trace, which consists of the port and channel IDs of the sender
For example, given the token my_port-1/my_channel-1/my_port-2/my_channel-2/base_denom
,
my_port-1/my_channel-1
is a trace prefix, and my_port-2/my_channel-2
is another one.
See TracePath which stitches trace prefixes together.
Implementations§
Source§impl TracePrefix
impl TracePrefix
pub fn new(port_id: PortId, channel_id: ChannelId) -> TracePrefix
Sourcepub fn strip(s: &str) -> Option<(TracePrefix, Option<&str>)>
pub fn strip(s: &str) -> Option<(TracePrefix, Option<&str>)>
Returns a string slice with TracePrefix
removed.
If the string starts with a TracePrefix
, i.e. {port-id}/channel-{id}
,
it returns a tuple of the removed TracePrefix
and the substring after the prefix.
If the substring is empty, it returns None
.
Otherwise, the substring starts with /
. In that case,
the leading /
is stripped and returned.
If the string does not start with a TracePrefix
, this method returns None
.
This method is analogous to strip_prefix
from the standard library.
Trait Implementations§
Source§impl BorshDeserialize for TracePrefix
impl BorshDeserialize for TracePrefix
fn deserialize_reader<__R>(reader: &mut __R) -> Result<TracePrefix, Error>where
__R: Read,
Source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
Source§impl BorshSerialize for TracePrefix
impl BorshSerialize for TracePrefix
Source§impl Clone for TracePrefix
impl Clone for TracePrefix
Source§fn clone(&self) -> TracePrefix
fn clone(&self) -> TracePrefix
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for TracePrefix
impl Debug for TracePrefix
Source§impl Decode for TracePrefix
impl Decode for TracePrefix
Source§fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<TracePrefix, Error>where
__CodecInputEdqy: Input,
fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<TracePrefix, Error>where
__CodecInputEdqy: Input,
Source§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
Source§impl<'de> Deserialize<'de> for TracePrefix
impl<'de> Deserialize<'de> for TracePrefix
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<TracePrefix, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<TracePrefix, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Display for TracePrefix
impl Display for TracePrefix
Source§impl Encode for TracePrefix
impl Encode for TracePrefix
Source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
Source§fn encode_to<__CodecOutputEdqy>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
Source§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Source§impl JsonSchema for TracePrefix
impl JsonSchema for TracePrefix
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref
keyword. Read more