pub struct TransferRowView<'a> {
pub asset_id: u32,
pub amount_e18: MessageFieldView<U128View<'a>>,
pub transfer_code: EnumValue<TransferCode>,
pub account_code: EnumValue<AccountCode>,
pub ts_us: u64,
pub balance_after_e18: MessageFieldView<U128View<'a>>,
pub is_debit: bool,
pub link_id: u64,
pub flow_id: &'a str,
pub source: MessageFieldView<TransferSideView<'a>>,
pub destination: MessageFieldView<TransferSideView<'a>>,
pub __buffa_unknown_fields: UnknownFieldsView<'a>,
}Expand description
TransferRow describes one debit or credit leg of a ledger transfer.
Fields§
§asset_id: u32Public unified asset ID. Resolve its symbol through the spot configuration API. U128 amounts in this row always use a fixed 18-decimal ledger scale.
Field 1: asset_id
amount_e18: MessageFieldView<U128View<'a>>Transfer amount at fixed 18-decimal ledger scale.
Field 2: amount_e18
transfer_code: EnumValue<TransferCode>Product reason for this transfer.
Field 3: transfer_code
account_code: EnumValue<AccountCode>Account bucket affected by this transfer.
Field 4: account_code
ts_us: u64Transfer timestamp in microseconds since epoch (UTC).
Field 5: ts_us
balance_after_e18: MessageFieldView<U128View<'a>>Post-transfer balance at fixed 18-decimal ledger scale.
Field 9: balance_after_e18
is_debit: boolTrue when this row is the debit leg; false when it is the credit leg.
Field 10: is_debit
link_id: u64Correlation ID used to group related transfer legs. Zero when unavailable.
Field 11: link_id
flow_id: &'a strPublic lifecycle flow ID when this transfer belongs to a chain lifecycle flow.
Field 12: flow_id
source: MessageFieldView<TransferSideView<'a>>Debit side of the transfer. This relationship is debit-to-credit rather than row-relative; use is_debit to determine whether this row is the debit leg.
Field 13: source
destination: MessageFieldView<TransferSideView<'a>>Credit side of the transfer. This relationship is debit-to-credit rather than row-relative; use is_debit to determine whether this row is the credit leg.
Field 14: destination
__buffa_unknown_fields: UnknownFieldsView<'a>Trait Implementations§
Source§impl<'a> Clone for TransferRowView<'a>
impl<'a> Clone for TransferRowView<'a>
Source§fn clone(&self) -> TransferRowView<'a>
fn clone(&self) -> TransferRowView<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'a> Debug for TransferRowView<'a>
impl<'a> Debug for TransferRowView<'a>
Source§impl<'a> Default for TransferRowView<'a>
impl<'a> Default for TransferRowView<'a>
Source§fn default() -> TransferRowView<'a>
fn default() -> TransferRowView<'a>
Source§impl<'v> DefaultViewInstance for TransferRowView<'v>
impl<'v> DefaultViewInstance for TransferRowView<'v>
Source§fn default_view_instance<'a>() -> &'a Selfwhere
Self: 'a,
fn default_view_instance<'a>() -> &'a Selfwhere
Self: 'a,
Source§impl<'a> MessageName for TransferRowView<'a>
impl<'a> MessageName for TransferRowView<'a>
Source§const PACKAGE: &'static str = "ledger.read.v1"
const PACKAGE: &'static str = "ledger.read.v1"
Source§const NAME: &'static str = "TransferRow"
const NAME: &'static str = "TransferRow"
. between nesting levels. Read moreSource§impl<'a> MessageView<'a> for TransferRowView<'a>
impl<'a> MessageView<'a> for TransferRowView<'a>
Source§type Owned = TransferRow
type Owned = TransferRow
Source§fn decode_view(buf: &'a [u8]) -> Result<Self, DecodeError>
fn decode_view(buf: &'a [u8]) -> Result<Self, DecodeError>
Source§fn decode_view_with_ctx(
buf: &'a [u8],
ctx: DecodeContext<'_>,
) -> Result<Self, DecodeError>
fn decode_view_with_ctx( buf: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<Self, DecodeError>
Source§fn merge_view_field(
&mut self,
tag: Tag,
cur: &'a [u8],
before_tag: &'a [u8],
ctx: DecodeContext<'_>,
) -> Result<&'a [u8], DecodeError>
fn merge_view_field( &mut self, tag: Tag, cur: &'a [u8], before_tag: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<&'a [u8], DecodeError>
Source§fn to_owned_message(&self) -> Result<TransferRow, DecodeError>
fn to_owned_message(&self) -> Result<TransferRow, DecodeError>
Source§fn to_owned_from_source(
&self,
__buffa_src: Option<&Bytes>,
) -> Result<TransferRow, DecodeError>
fn to_owned_from_source( &self, __buffa_src: Option<&Bytes>, ) -> Result<TransferRow, DecodeError>
bytes::Bytes-typed fields from source instead of copying. Read moreSource§fn decode_view_ctx(
buf: &'a [u8],
ctx: DecodeContext<'_>,
) -> Result<Self, DecodeError>where
Self: Default,
fn decode_view_ctx(
buf: &'a [u8],
ctx: DecodeContext<'_>,
) -> Result<Self, DecodeError>where
Self: Default,
DecodeContext
(remaining recursion depth and unknown-field allowance), driving the
provided tag loop over merge_view_field. Read moreSource§fn merge_into_view(
&mut self,
buf: &'a [u8],
ctx: DecodeContext<'_>,
) -> Result<(), DecodeError>
fn merge_into_view( &mut self, buf: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<(), DecodeError>
buf into this view (proto merge semantics):
repeated fields append, singular fields last-wins, singular message
fields merge recursively. Read moreSource§impl<'__a> Serialize for TransferRowView<'__a>
Serializes this view as protobuf JSON.
impl<'__a> Serialize for TransferRowView<'__a>
Serializes this view as protobuf JSON.
Implicit-presence fields with default values are omitted, required
fields are always emitted, explicit-presence (optional) fields are
emitted only when set, bytes fields are base64-encoded, and enum
values are their proto name strings.
This impl uses serialize_map(None) because the number of emitted
fields depends on default-omission rules; serializers that require
known map lengths (e.g. bincode) will return a runtime error.
Use the owned message type for those formats.
Source§impl<'a> ViewEncode<'a> for TransferRowView<'a>
impl<'a> ViewEncode<'a> for TransferRowView<'a>
Source§fn compute_size(&self, __cache: &mut SizeCache) -> u32
fn compute_size(&self, __cache: &mut SizeCache) -> u32
Source§fn write_to(&self, __cache: &mut SizeCache, buf: &mut impl BufMut)
fn write_to(&self, __cache: &mut SizeCache, buf: &mut impl BufMut)
cache (populated by a prior
compute_size call on the same cache). Read moreSource§fn encode(&self, buf: &mut impl BufMut)
fn encode(&self, buf: &mut impl BufMut)
Source§fn encode_with_cache(&self, cache: &mut SizeCache, buf: &mut impl BufMut)
fn encode_with_cache(&self, cache: &mut SizeCache, buf: &mut impl BufMut)
SizeCache, for
reuse across many encodes in a hot loop. Clears the cache first.Source§fn encoded_len(&self) -> u32
fn encoded_len(&self) -> u32
Source§fn encode_length_delimited(&self, buf: &mut impl BufMut)
fn encode_length_delimited(&self, buf: &mut impl BufMut)
Source§fn encode_to_bytes(&self) -> Bytes
fn encode_to_bytes(&self) -> Bytes
bytes::Bytes.Source§impl ViewReborrow for TransferRowView<'static>
impl ViewReborrow for TransferRowView<'static>
Source§type Reborrowed<'b> = TransferRowView<'b>
type Reborrowed<'b> = TransferRowView<'b>
'b.Source§fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b>
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b>
&'b Self (= &'b FooView<'static>) to
&'b Self::Reborrowed<'b> (= &'b FooView<'b>). The canonical body
is just this; the compiler accepts it via standard lifetime
variance for covariant view types. Read more