pub struct SubaccountPolicySpecOwnedView(/* private fields */);Expand description
Self-contained, 'static owned view of a SubaccountPolicySpec message.
Wraps ::buffa::OwnedView<SubaccountPolicySpecView<'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 SubaccountPolicySpecView when you need struct patterns, iteration helpers, or to pass the view to lifetime-parameterised code.
Implementations§
Source§impl SubaccountPolicySpecOwnedView
impl SubaccountPolicySpecOwnedView
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: &SubaccountPolicySpec) -> Result<Self, DecodeError>
pub fn from_owned(msg: &SubaccountPolicySpec) -> 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) -> &SubaccountPolicySpecView<'_>
pub fn view(&self) -> &SubaccountPolicySpecView<'_>
Borrow the full SubaccountPolicySpecView with its lifetime tied to &self.
Sourcepub fn to_owned_message(&self) -> Result<SubaccountPolicySpec, DecodeError>
pub fn to_owned_message(&self) -> Result<SubaccountPolicySpec, 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 name(&self) -> &str
pub fn name(&self) -> &str
Human-readable policy name. Create requires a non-empty value; update validates it after merging fields selected by update_mask.
Field 1: name
Sourcepub fn description(&self) -> &str
pub fn description(&self) -> &str
Optional policy description for dashboards and audits. Maximum 256 characters.
Field 2: description
Sourcepub fn spot_markets(&self) -> &RepeatedView<'_, SpotMarketRuleView<'_>>
pub fn spot_markets(&self) -> &RepeatedView<'_, SpotMarketRuleView<'_>>
Allowed spot markets for this policy.
Field 3: spot_markets
Sourcepub fn perp_markets(&self) -> &RepeatedView<'_, PerpMarketRuleView<'_>>
pub fn perp_markets(&self) -> &RepeatedView<'_, PerpMarketRuleView<'_>>
Allowed perp markets and optional per-contract leverage caps.
Field 4: 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 unspecified, defaults to ALL.
Field 5: 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 unspecified, defaults to ALL.
Field 6: 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 policy. Up to 64 unique explicit actions are allowed.
Field 7: actions
Sourcepub fn global_notional_cap(&self) -> u64
pub fn global_notional_cap(&self) -> u64
Maximum total notional exposure across all positions for this sub-account, expressed in the canonical quote unit (for example, 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 for any single order on this sub-account, expressed in the canonical quote unit (for example, micro-USDT). 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. Supported non-zero values are 1, 3, 5, 10, 20, 50, and 100. A value of 0 means no explicit cap.
Field 16: global_perp_leverage_x
Sourcepub fn daily_internal_transfer_out_limit(&self) -> u64
pub fn daily_internal_transfer_out_limit(&self) -> u64
Maximum total notional this sub-account can transfer out internally per rolling 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 rolling 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.
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 20: enforce_withdraw_whitelist
Sourcepub fn trading_halted(&self) -> bool
pub fn trading_halted(&self) -> bool
When true, new orders for this sub-account are rejected regardless of other policy settings.
Field 21: trading_halted
Sourcepub fn liquidation_only(&self) -> bool
pub fn liquidation_only(&self) -> bool
When true, this sub-account may only reduce or close existing exposure.
Field 22: liquidation_only
Sourcepub fn daily_loss_limit(&self) -> u64
pub fn daily_loss_limit(&self) -> u64
Maximum realized loss 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 23: daily_loss_limit
Sourcepub fn intraday_drawdown_limit_bps(&self) -> u32
pub fn intraday_drawdown_limit_bps(&self) -> u32
Maximum drawdown from peak equity in basis points. One basis point is 1/100 of one percent. A value of 0 means no explicit limit.
Field 24: intraday_drawdown_limit_bps
Sourcepub fn locked(&self) -> bool
pub fn locked(&self) -> bool
When true, the policy is write-protected and requires an elevated mutation path.
Field 25: locked
Sourcepub fn review_at(&self) -> &MessageFieldView<TimestampView<'_>>
pub fn review_at(&self) -> &MessageFieldView<TimestampView<'_>>
Optional review time in UTC. This does not automatically disable the policy.
Field 26: review_at
Sourcepub fn expires_at(&self) -> &MessageFieldView<TimestampView<'_>>
pub fn expires_at(&self) -> &MessageFieldView<TimestampView<'_>>
Optional expiry time in UTC. This does not automatically disable the policy.
Field 27: expires_at
Trait Implementations§
Source§impl AsRef<OwnedView<SubaccountPolicySpecView<'static>>> for SubaccountPolicySpecOwnedView
impl AsRef<OwnedView<SubaccountPolicySpecView<'static>>> for SubaccountPolicySpecOwnedView
Source§fn as_ref(&self) -> &OwnedView<SubaccountPolicySpecView<'static>>
fn as_ref(&self) -> &OwnedView<SubaccountPolicySpecView<'static>>
Source§impl Clone for SubaccountPolicySpecOwnedView
impl Clone for SubaccountPolicySpecOwnedView
Source§fn clone(&self) -> SubaccountPolicySpecOwnedView
fn clone(&self) -> SubaccountPolicySpecOwnedView
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more