pub(crate) mod account_adjustment;
pub(crate) mod account_adjustment_context;
pub(crate) mod account_control;
pub(crate) mod account_groups;
pub(crate) mod account_key;
pub(crate) mod account_outcome;
pub(crate) mod engine;
pub(crate) mod engine_builder;
pub(crate) mod engine_trait;
pub(crate) mod execution_report;
pub(crate) mod instrument;
pub(crate) mod mutation;
pub(crate) mod order;
pub(crate) mod request_trait;
pub(crate) mod sync_mode;
mod macros;
pub use account_adjustment::{
AccountAdjustmentAmount, AccountAdjustmentBalanceOperation, AccountAdjustmentBounds,
AccountAdjustmentPositionOperation, WithAccountAdjustmentAmount,
WithAccountAdjustmentBalanceOperation, WithAccountAdjustmentBounds,
WithAccountAdjustmentPositionOperation,
};
pub use account_adjustment_context::AccountAdjustmentContext;
pub(crate) use account_control::BlockedAccounts;
pub use account_control::{AccountBlockHandle, AccountControl};
pub use account_groups::{AccountGroupError, Accounts};
pub(crate) use account_groups::{AccountGroups, AccountGroupsHandle, GroupLookup};
pub use account_key::{AccountKey, AccountKeyConstraint};
pub use account_outcome::{
AccountAdjustmentBatchResult, AccountAdjustmentOutcome, AccountOutcomeEntry, OutcomeAmount,
};
pub use engine_trait::{EngineTrait, EngineTraitOf};
pub use execution_report::{
ExecutionReportFillDetails, ExecutionReportOperation, ExecutionReportPositionImpact,
FinancialImpact, WithExecutionReportFillDetails, WithExecutionReportOperation,
WithExecutionReportPositionImpact, WithFinancialImpact,
};
pub use instrument::Instrument;
pub use mutation::{Mutation, Mutations};
pub use order::{
OrderMargin, OrderOperation, OrderPosition, WithOrderMargin, WithOrderOperation,
WithOrderPosition,
};
pub use request_trait::{
HasAccountAdjustmentBalance, HasAccountAdjustmentBalanceAverageEntryPrice,
HasAccountAdjustmentBalanceLowerBound, HasAccountAdjustmentBalanceUpperBound,
HasAccountAdjustmentHeld, HasAccountAdjustmentHeldLowerBound,
HasAccountAdjustmentHeldUpperBound, HasAccountAdjustmentIncoming,
HasAccountAdjustmentIncomingLowerBound, HasAccountAdjustmentIncomingUpperBound,
HasAccountAdjustmentPositionLeverage, HasAccountId, HasAutoBorrow, HasAverageEntryPrice,
HasBalanceAsset, HasClosePosition, HasCollateralAsset, HasExecutionReportIsFinal,
HasExecutionReportLastTrade, HasExecutionReportPositionEffect, HasExecutionReportPositionSide,
HasFee, HasInstrument, HasLeavesQuantity, HasOrderCollateralAsset, HasOrderLeverage,
HasOrderPositionSide, HasOrderPrice, HasPnl, HasPositionInstrument, HasPositionMode,
HasPreTradeLock, HasReduceOnly, HasSide, HasTradeAmount, RequestFieldAccessError,
};
pub use sync_mode::{
AccountSync, AccountSyncHandle, AccountSyncHandleWeak, FullSync, LocalSync, SyncMode,
};
pub const DEFAULT_POLICY_GROUP_ID: PolicyGroupId = PolicyGroupId::new(0);
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
pub struct PolicyGroupId(u16);
impl PolicyGroupId {
pub const fn new(value: u16) -> Self {
Self(value)
}
pub const fn value(self) -> u16 {
self.0
}
}