pyaver.data_classes
1from dataclasses import dataclass 2from solana.publickey import PublicKey 3from .enums import MarketStatus, FeeTier 4 5@dataclass 6class MarketState(): 7 """ 8 Market State Object 9 10 Holds particular data for a market 11 """ 12 market_status: MarketStatus 13 market_store: PublicKey 14 market_authority: PublicKey 15 quote_token_mint: PublicKey 16 quote_vault: PublicKey 17 vault_authority: PublicKey 18 number_of_outcomes: int 19 number_of_winners: int 20 decimals: int 21 cranker_reward: int 22 matched_count: int 23 prize_balance: int 24 withdrawable_quote_token_balance: int 25 winning_outcome: int 26 permissioned_market_flag: bool 27 going_in_play_flag: bool 28 max_quote_tokens_in: int 29 max_quote_tokens_in_permission_capped: str 30 outcome_names: list[str] 31 version: float 32 number_of_umas: int 33 vault_bump: int 34 trading_cease_time: int 35 aver_accumulated_fees: int 36 third_party_accumulated_fees: int 37 open_interest: int 38 oracle_feed: PublicKey 39 fee_tier_collection_bps_rates: list[int] 40 inplay_start_time: int = None 41 42 43 44@dataclass 45class OrderbookAccountsState(): 46 """ 47 Orderbook Accounts State Object. 48 49 Contains public keys for asks, bids, event queue and orderbook 50 """ 51 asks: PublicKey 52 bids: PublicKey 53 event_queue: PublicKey 54 orderbook: PublicKey 55 56 57@dataclass 58class MarketStoreState(): 59 """ 60 Market store state object 61 62 Does not exist for markets that have a market status of closed, voided or resolved 63 """ 64 market: PublicKey 65 orderbook_accounts: list[OrderbookAccountsState] 66 number_of_outcomes: int 67 min_orderbook_base_size: int 68 min_new_order_base_size: int 69 min_new_order_quote_size: int 70 version: float 71 init_counter: float 72 73@dataclass 74class Price(): 75 price: float 76 size: float 77 78@dataclass 79class OutcomePosition(): 80 free: int 81 locked: int 82 83@dataclass 84class UmaOrder(): 85 order_id: int 86 outcome_id: int 87 base_qty: int 88 89@dataclass 90class UserMarketState(): 91 """ 92 User market state object 93 94 Holds data on a particular user for a particular market 95 """ 96 market: PublicKey 97 user: PublicKey 98 number_of_outcomes: int 99 number_of_orders: int 100 max_number_of_orders: int 101 net_quote_tokens_in: int 102 accumulated_maker_quote_volume: int 103 accumulated_maker_base_volume: int 104 accumulated_taker_quote_volume: int 105 accumulated_taker_base_volume: int 106 outcome_positions: list[OutcomePosition] 107 orders: list[UmaOrder] 108 version: int 109 user_verification_account: PublicKey or None 110 user_host_lifetime: PublicKey 111 112@dataclass 113class ReferrerState(): 114 """ 115 Referrer state object 116 117 Holds data on a particular referrer 118 """ 119 version: int 120 owner: PublicKey 121 host: PublicKey 122 creation_date: int 123 last_balance_update: int 124 last_withdrawal: int 125 last_referral: int 126 number_users_referred: int 127 referrer_revenue_share_collected: int 128 referrer_fee_rate_bps: int 129 130 131@dataclass 132class HostState(): 133 """ 134 Host state object 135 136 Holds data on a particular host 137 """ 138 version: int 139 owner: PublicKey 140 creation_date: int 141 last_withdrawal: int 142 last_balance_update: int 143 host_revenue_share_uncollected: int 144 host_revenue_share_collected: int 145 host_fee_rate_bps: int 146 referrer_fee_rate_offered_bps: int 147 last_referrer_terms_change: int 148 149@dataclass 150class UserHostLifetimeState(): 151 """ 152 User host lifetime state object 153 154 Holds data on a particular user across all markets (for 1 specific host) 155 """ 156 version: int 157 user: PublicKey 158 host: PublicKey 159 user_quote_token_ata: PublicKey 160 referrer: PublicKey or None 161 referrer_revenue_share_uncollected: int 162 referral_revenue_share_total_generated: int 163 referrer_fee_rate_bps: int 164 last_fee_tier_check: FeeTier 165 is_self_excluded_until: bool or None 166 creation_date: int 167 last_balance_update: int 168 total_markets_traded: int 169 total_quote_volume_traded: int 170 total_base_volume_traded: int 171 total_fees_paid: int 172 cumulative_pnl: int 173 cumulative_invest: int 174 display_name: str or None 175 nft_pfp: PublicKey or None 176 177@dataclass 178class SlabOrder(): 179 id: bytes 180 price: int 181 price_ui: float 182 base_quantity: int 183 base_quantity_ui: float 184 user_market: PublicKey 185 fee_tier: int 186 187@dataclass 188class UserBalanceState(): 189 lamport_balance: int 190 token_balance: int
6@dataclass 7class MarketState(): 8 """ 9 Market State Object 10 11 Holds particular data for a market 12 """ 13 market_status: MarketStatus 14 market_store: PublicKey 15 market_authority: PublicKey 16 quote_token_mint: PublicKey 17 quote_vault: PublicKey 18 vault_authority: PublicKey 19 number_of_outcomes: int 20 number_of_winners: int 21 decimals: int 22 cranker_reward: int 23 matched_count: int 24 prize_balance: int 25 withdrawable_quote_token_balance: int 26 winning_outcome: int 27 permissioned_market_flag: bool 28 going_in_play_flag: bool 29 max_quote_tokens_in: int 30 max_quote_tokens_in_permission_capped: str 31 outcome_names: list[str] 32 version: float 33 number_of_umas: int 34 vault_bump: int 35 trading_cease_time: int 36 aver_accumulated_fees: int 37 third_party_accumulated_fees: int 38 open_interest: int 39 oracle_feed: PublicKey 40 fee_tier_collection_bps_rates: list[int] 41 inplay_start_time: int = None
Market State Object
Holds particular data for a market
45@dataclass 46class OrderbookAccountsState(): 47 """ 48 Orderbook Accounts State Object. 49 50 Contains public keys for asks, bids, event queue and orderbook 51 """ 52 asks: PublicKey 53 bids: PublicKey 54 event_queue: PublicKey 55 orderbook: PublicKey
Orderbook Accounts State Object.
Contains public keys for asks, bids, event queue and orderbook
58@dataclass 59class MarketStoreState(): 60 """ 61 Market store state object 62 63 Does not exist for markets that have a market status of closed, voided or resolved 64 """ 65 market: PublicKey 66 orderbook_accounts: list[OrderbookAccountsState] 67 number_of_outcomes: int 68 min_orderbook_base_size: int 69 min_new_order_base_size: int 70 min_new_order_quote_size: int 71 version: float 72 init_counter: float
Market store state object
Does not exist for markets that have a market status of closed, voided or resolved
Price(price: float, size: float)
OutcomePosition(free: int, locked: int)
UmaOrder(order_id: int, outcome_id: int, base_qty: int)
90@dataclass 91class UserMarketState(): 92 """ 93 User market state object 94 95 Holds data on a particular user for a particular market 96 """ 97 market: PublicKey 98 user: PublicKey 99 number_of_outcomes: int 100 number_of_orders: int 101 max_number_of_orders: int 102 net_quote_tokens_in: int 103 accumulated_maker_quote_volume: int 104 accumulated_maker_base_volume: int 105 accumulated_taker_quote_volume: int 106 accumulated_taker_base_volume: int 107 outcome_positions: list[OutcomePosition] 108 orders: list[UmaOrder] 109 version: int 110 user_verification_account: PublicKey or None 111 user_host_lifetime: PublicKey
User market state object
Holds data on a particular user for a particular market
113@dataclass 114class ReferrerState(): 115 """ 116 Referrer state object 117 118 Holds data on a particular referrer 119 """ 120 version: int 121 owner: PublicKey 122 host: PublicKey 123 creation_date: int 124 last_balance_update: int 125 last_withdrawal: int 126 last_referral: int 127 number_users_referred: int 128 referrer_revenue_share_collected: int 129 referrer_fee_rate_bps: int
Referrer state object
Holds data on a particular referrer
132@dataclass 133class HostState(): 134 """ 135 Host state object 136 137 Holds data on a particular host 138 """ 139 version: int 140 owner: PublicKey 141 creation_date: int 142 last_withdrawal: int 143 last_balance_update: int 144 host_revenue_share_uncollected: int 145 host_revenue_share_collected: int 146 host_fee_rate_bps: int 147 referrer_fee_rate_offered_bps: int 148 last_referrer_terms_change: int
Host state object
Holds data on a particular host
150@dataclass 151class UserHostLifetimeState(): 152 """ 153 User host lifetime state object 154 155 Holds data on a particular user across all markets (for 1 specific host) 156 """ 157 version: int 158 user: PublicKey 159 host: PublicKey 160 user_quote_token_ata: PublicKey 161 referrer: PublicKey or None 162 referrer_revenue_share_uncollected: int 163 referral_revenue_share_total_generated: int 164 referrer_fee_rate_bps: int 165 last_fee_tier_check: FeeTier 166 is_self_excluded_until: bool or None 167 creation_date: int 168 last_balance_update: int 169 total_markets_traded: int 170 total_quote_volume_traded: int 171 total_base_volume_traded: int 172 total_fees_paid: int 173 cumulative_pnl: int 174 cumulative_invest: int 175 display_name: str or None 176 nft_pfp: PublicKey or None
User host lifetime state object
Holds data on a particular user across all markets (for 1 specific host)
178@dataclass 179class SlabOrder(): 180 id: bytes 181 price: int 182 price_ui: float 183 base_quantity: int 184 base_quantity_ui: float 185 user_market: PublicKey 186 fee_tier: int
SlabOrder(id: bytes, price: int, price_ui: float, base_quantity: int, base_quantity_ui: float, user_market: solana.publickey.PublicKey, fee_tier: int)
UserBalanceState(lamport_balance: int, token_balance: int)