pub struct SubaccountPolicyViewOwnedView(/* private fields */);Expand description
Self-contained, 'static owned view of a SubaccountPolicyView message.
Wraps ::buffa::OwnedView<SubaccountPolicyViewView<'static>>: the decoded view and the ::buffa::bytes::Bytes buffer it borrows from travel together, so the handle is 'static and Send + Sync — suitable for async handlers, spawned tasks, and anywhere a 'static bound is required.
Field accessors return borrows tied to &self. Use Self::view to get the full SubaccountPolicyViewView when you need struct patterns, iteration helpers, or to pass the view to lifetime-parameterised code.
Implementations§
Source§impl SubaccountPolicyViewOwnedView
impl SubaccountPolicyViewOwnedView
Sourcepub fn decode(bytes: Bytes) -> Result<Self, DecodeError>
pub fn decode(bytes: Bytes) -> Result<Self, DecodeError>
Decode an owned view from a ::buffa::bytes::Bytes buffer.
The view borrows directly from the buffer’s data; the buffer is retained inside the returned handle.
§Errors
Returns ::buffa::DecodeError if the buffer contains invalid
protobuf data.
Sourcepub fn decode_with_options(
bytes: Bytes,
opts: &DecodeOptions,
) -> Result<Self, DecodeError>
pub fn decode_with_options( bytes: Bytes, opts: &DecodeOptions, ) -> Result<Self, DecodeError>
Decode with custom ::buffa::DecodeOptions (recursion limit,
max message size).
§Errors
Returns ::buffa::DecodeError if the buffer is invalid or
exceeds the configured limits.
Sourcepub fn from_owned(msg: &SubaccountPolicyView) -> Result<Self, DecodeError>
pub fn from_owned(msg: &SubaccountPolicyView) -> Result<Self, DecodeError>
Build from an owned message via an encode → decode round-trip.
§Errors
Returns ::buffa::DecodeError if the re-encoded bytes are
somehow invalid (should not happen for well-formed messages).
Sourcepub fn view(&self) -> &SubaccountPolicyViewView<'_>
pub fn view(&self) -> &SubaccountPolicyViewView<'_>
Borrow the full SubaccountPolicyViewView with its lifetime tied to &self.
Sourcepub fn to_owned_message(&self) -> Result<SubaccountPolicyView, DecodeError>
pub fn to_owned_message(&self) -> Result<SubaccountPolicyView, DecodeError>
Convert to the owned message type.
§Errors
Returns an error if re-materializing preserved unknown fields fails (e.g. the unknown-field limit is exceeded).
Sourcepub fn into_bytes(self) -> Bytes
pub fn into_bytes(self) -> Bytes
Consume the handle, returning the underlying bytes buffer.
Sourcepub fn description(&self) -> &str
pub fn description(&self) -> &str
Optional policy description for dashboards and audits.
Field 3: description
Sourcepub fn spot_markets(&self) -> &RepeatedView<'_, SpotMarketRuleView<'_>>
pub fn spot_markets(&self) -> &RepeatedView<'_, SpotMarketRuleView<'_>>
Allowed spot markets for this sub-account.
Field 4: spot_markets
Sourcepub fn perp_markets(&self) -> &RepeatedView<'_, PerpMarketRuleView<'_>>
pub fn perp_markets(&self) -> &RepeatedView<'_, PerpMarketRuleView<'_>>
Allowed perp contracts for this sub-account, with optional per-contract caps.
Field 5: perp_markets
Sourcepub fn spot_market_scope(&self) -> EnumValue<Value>
pub fn spot_market_scope(&self) -> EnumValue<Value>
Market-level scope for spot markets. When ALL, spot_markets is returned for display only and is not enforced.
Field 6: spot_market_scope
Sourcepub fn perp_market_scope(&self) -> EnumValue<Value>
pub fn perp_market_scope(&self) -> EnumValue<Value>
Market-level scope for perp contracts. When ALL, perp_markets is returned for display only and is not enforced.
Field 7: perp_market_scope
Sourcepub fn actions(&self) -> &RepeatedView<'_, EnumValue<PolicyAction>>
pub fn actions(&self) -> &RepeatedView<'_, EnumValue<PolicyAction>>
High-level actions enabled for the sub-account. Up to 64 unique explicit actions may be returned.
Field 8: actions
Sourcepub fn is_template(&self) -> bool
pub fn is_template(&self) -> bool
True if this policy is a reusable template; false if it is a per-sub-account instance.
Field 10: is_template
Sourcepub fn source_template_id(&self) -> u64
pub fn source_template_id(&self) -> u64
Optional source template this policy was copied from (opaque ID). This is audit metadata only and does not imply live linkage.
Field 11: source_template_id
Sourcepub fn global_notional_cap(&self) -> u64
pub fn global_notional_cap(&self) -> u64
— Global risk limits (sub-account scope) —
Maximum total notional exposure (across all positions) allowed for this sub-account, expressed in a canonical quote unit (e.g. micro-USDT). A value of 0 means “no explicit cap”.
Field 12: global_notional_cap
Sourcepub fn max_order_notional(&self) -> u64
pub fn max_order_notional(&self) -> u64
Maximum notional size allowed for any single order on this sub-account, expressed in the same canonical quote unit as global_notional_cap. A value of 0 means “no explicit cap”.
Field 13: max_order_notional
Sourcepub fn max_open_orders(&self) -> u32
pub fn max_open_orders(&self) -> u32
Maximum number of resting orders allowed on this sub-account at any time. A value of 0 means “no explicit cap”.
Field 14: max_open_orders
Sourcepub fn max_open_positions(&self) -> u32
pub fn max_open_positions(&self) -> u32
Maximum number of open perp positions allowed on this sub-account. A value of 0 means “no explicit cap”.
Field 15: max_open_positions
Sourcepub fn global_perp_leverage_x(&self) -> u32
pub fn global_perp_leverage_x(&self) -> u32
Optional global leverage cap across all perp contracts, expressed as a maximum leverage multiple. Supported non-zero values are 1, 3, 5, 10, 20, 50, and 100. A value of 0 means “no explicit global cap”; per-contract caps still apply.
Field 16: global_perp_leverage_x
Sourcepub fn daily_internal_transfer_out_limit(&self) -> u64
pub fn daily_internal_transfer_out_limit(&self) -> u64
— Capital movement limits (sub-account scope) —
Maximum total notional this sub-account can transfer out internally per day, expressed in the canonical quote unit (for example, micro-USDT). A value of 0 means “no explicit cap”.
Field 17: daily_internal_transfer_out_limit
Sourcepub fn daily_withdraw_limit(&self) -> u64
pub fn daily_withdraw_limit(&self) -> u64
Maximum total notional this sub-account can withdraw per day, expressed in the canonical quote unit (for example, micro-USDT). A value of 0 means “no explicit cap”.
Field 18: daily_withdraw_limit
Sourcepub fn internal_transfers_own_only(&self) -> bool
pub fn internal_transfers_own_only(&self) -> bool
When true, internal transfers from this sub-account may only target other sub-accounts owned by the same root account. When false, transfers to other owners are allowed (subject to other policy checks).
Field 19: internal_transfers_own_only
Sourcepub fn enforce_withdraw_whitelist(&self) -> bool
pub fn enforce_withdraw_whitelist(&self) -> bool
When true, external withdrawals from this sub-account must target an approved withdrawal destination.
Field 22: enforce_withdraw_whitelist
Sourcepub fn trading_halted(&self) -> bool
pub fn trading_halted(&self) -> bool
— Safety / kill-switch controls —
When true, trading on this sub-account is halted: new orders are rejected regardless of other settings. Existing positions may still be closed by product safety controls.
Field 23: trading_halted
Sourcepub fn liquidation_only(&self) -> bool
pub fn liquidation_only(&self) -> bool
When true, this sub-account is in liquidation-only mode: new exposure cannot be opened, but reduce-only / close-out actions are allowed.
Field 24: liquidation_only
Sourcepub fn daily_loss_limit(&self) -> u64
pub fn daily_loss_limit(&self) -> u64
Maximum allowed realized loss for this sub-account over a rolling day before safety controls may halt activity, expressed in the canonical quote unit (for example, micro-USDT). A value of 0 means “no explicit limit”.
Field 25: daily_loss_limit
Sourcepub fn intraday_drawdown_limit_bps(&self) -> u32
pub fn intraday_drawdown_limit_bps(&self) -> u32
Maximum allowed drawdown from peak equity in basis points (1/100 of a percent) before safety controls may halt activity. A value of 0 means “no explicit limit”.
Field 26: intraday_drawdown_limit_bps
Sourcepub fn locked(&self) -> bool
pub fn locked(&self) -> bool
— Governance / lifecycle metadata —
When true, this policy is write-protected and requires an elevated approval flow to modify it.
Field 27: locked
Sourcepub fn review_at(&self) -> &MessageFieldView<TimestampView<'_>>
pub fn review_at(&self) -> &MessageFieldView<TimestampView<'_>>
Optional review time in UTC. This is governance metadata and does not automatically disable the policy.
Field 28: review_at
Sourcepub fn expires_at(&self) -> &MessageFieldView<TimestampView<'_>>
pub fn expires_at(&self) -> &MessageFieldView<TimestampView<'_>>
Optional expiry time in UTC. This is governance metadata and does not automatically disable the policy.
Field 29: expires_at
Sourcepub fn created_at(&self) -> &MessageFieldView<TimestampView<'_>>
pub fn created_at(&self) -> &MessageFieldView<TimestampView<'_>>
Creation time in UTC.
Field 20: created_at
Sourcepub fn updated_at(&self) -> &MessageFieldView<TimestampView<'_>>
pub fn updated_at(&self) -> &MessageFieldView<TimestampView<'_>>
Last update time in UTC.
Field 21: updated_at
Trait Implementations§
Source§impl AsRef<OwnedView<SubaccountPolicyViewView<'static>>> for SubaccountPolicyViewOwnedView
impl AsRef<OwnedView<SubaccountPolicyViewView<'static>>> for SubaccountPolicyViewOwnedView
Source§fn as_ref(&self) -> &OwnedView<SubaccountPolicyViewView<'static>>
fn as_ref(&self) -> &OwnedView<SubaccountPolicyViewView<'static>>
Source§impl Clone for SubaccountPolicyViewOwnedView
impl Clone for SubaccountPolicyViewOwnedView
Source§fn clone(&self) -> SubaccountPolicyViewOwnedView
fn clone(&self) -> SubaccountPolicyViewOwnedView
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more