Skip to main content

SubaccountPolicyViewOwnedView

Struct SubaccountPolicyViewOwnedView 

Source
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

Source

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.

Source

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.

Source

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).

Source

pub fn view(&self) -> &SubaccountPolicyViewView<'_>

Borrow the full SubaccountPolicyViewView with its lifetime tied to &self.

Source

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).

Source

pub fn bytes(&self) -> &Bytes

The underlying bytes buffer.

Source

pub fn into_bytes(self) -> Bytes

Consume the handle, returning the underlying bytes buffer.

Source

pub fn id(&self) -> u64

Policy identifier (opaque ID).

Field 1: id

Source

pub fn name(&self) -> &str

Human-readable policy name.

Field 2: name

Source

pub fn description(&self) -> &str

Optional policy description for dashboards and audits.

Field 3: description

Source

pub fn spot_markets(&self) -> &RepeatedView<'_, SpotMarketRuleView<'_>>

Allowed spot markets for this sub-account.

Field 4: spot_markets

Source

pub fn perp_markets(&self) -> &RepeatedView<'_, PerpMarketRuleView<'_>>

Allowed perp contracts for this sub-account, with optional per-contract caps.

Field 5: perp_markets

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

pub fn created_at(&self) -> &MessageFieldView<TimestampView<'_>>

Creation time in UTC.

Field 20: created_at

Source

pub fn updated_at(&self) -> &MessageFieldView<TimestampView<'_>>

Last update time in UTC.

Field 21: updated_at

Source

pub fn revision(&self) -> u64

Monotonic resource revision used for conditional updates.

Field 30: revision

Trait Implementations§

Source§

impl AsRef<OwnedView<SubaccountPolicyViewView<'static>>> for SubaccountPolicyViewOwnedView

Source§

fn as_ref(&self) -> &OwnedView<SubaccountPolicyViewView<'static>>

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for SubaccountPolicyViewOwnedView

Source§

fn clone(&self) -> SubaccountPolicyViewOwnedView

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SubaccountPolicyViewOwnedView

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<OwnedView<SubaccountPolicyViewView<'static>>> for SubaccountPolicyViewOwnedView

Source§

fn from(inner: OwnedView<SubaccountPolicyViewView<'static>>) -> Self

Converts to this type from the input type.
Source§

impl From<SubaccountPolicyViewOwnedView> for OwnedView<SubaccountPolicyViewView<'static>>

Source§

fn from(wrapper: SubaccountPolicyViewOwnedView) -> Self

Converts to this type from the input type.
Source§

impl Serialize for SubaccountPolicyViewOwnedView

Source§

fn serialize<__S: Serializer>(&self, __s: __S) -> Result<__S::Ok, __S::Error>

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> JsonSerialize for T
where T: Serialize,

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more