import { BigNumberish } from 'ethers' import { LiquidityPosition, LiquidityPositionExtended, } from './liquidityPosition' import { OptionPosition, OptionPositionExtended } from './optionPosition' import { VaultPosition, VaultPositionExtended } from './vaultPosition' import { Transaction } from './transaction' import { VaultTransaction } from './vaultTransaction' import { Referral } from './referral' import { OptionPSTransaction } from './optionPSTransaction' export interface ActionAuthorization { actions: bigint[] authorization: boolean[] } export interface User { address: string claimableFeesETH: BigNumberish claimableFeesUSD: BigNumberish totalValueLockedETH: BigNumberish totalValueLockedUSD: BigNumberish profitLossETH: BigNumberish profitLossUSD: BigNumberish profitLossETHPercent: BigNumberish profitLossUSDPercent: BigNumberish poolDepositsETH: BigNumberish poolDepositsUSD: BigNumberish poolProfitLossETH: BigNumberish poolProfitLossUSD: BigNumberish poolProfitLossETHPercent: BigNumberish poolProfitLossUSDPercent: BigNumberish optionDepositsETH: BigNumberish optionDepositsUSD: BigNumberish optionProfitLossETH: BigNumberish optionProfitLossUSD: BigNumberish optionProfitLossETHPercent: BigNumberish optionProfitLossUSDPercent: BigNumberish vaultDepositsETH: BigNumberish vaultDepositsUSD: BigNumberish vaultProfitLossETH: BigNumberish vaultProfitLossUSD: BigNumberish vaultProfitLossETHPercent: BigNumberish vaultProfitLossUSDPercent: BigNumberish } export interface UserExtended extends User { depositsETH: BigNumberish depositsUSD: BigNumberish withdrawalsETH: BigNumberish withdrawalsUSD: BigNumberish netDepositsETH: BigNumberish netDepositsUSD: BigNumberish collateralETH: BigNumberish collateralUSD: BigNumberish longsETH: BigNumberish longsUSD: BigNumberish shortsETH: BigNumberish shortsUSD: BigNumberish volumeETH: BigNumberish volumeUSD: BigNumberish premiumsPaidETH: BigNumberish premiumsPaidUSD: BigNumberish premiumsReceivedETH: BigNumberish premiumsReceivedUSD: BigNumberish exercisePayoutsPaidETH: BigNumberish exercisePayoutsPaidUSD: BigNumberish exercisePayoutsReceivedETH: BigNumberish exercisePayoutsReceivedUSD: BigNumberish feeRevenueETH: BigNumberish feeRevenueUSD: BigNumberish feesPaidETH: BigNumberish feesPaidUSD: BigNumberish primaryReferrer?: User secondaryReferrer?: User totalReferrals: number totalSecondaryReferrals: number referralRebatesEarnedETH: BigNumberish referralRebatesEarnedUSD: BigNumberish referrals: Referral[] secondaryReferrals: Referral[] } export interface UserPortfolio extends UserExtended { liquidityPositions: LiquidityPosition[] optionPositions: OptionPosition[] vaultPositions: VaultPosition[] } export interface UserPortfolioHistory extends UserPortfolio { snapshots: UserSnapshot[] poolTransactions: Transaction[] vaultTransactions: VaultTransaction[] optionPSTransactions: OptionPSTransaction[] } export interface UserPortfolioExtended extends UserPortfolio { liquidityPositions: LiquidityPositionExtended[] optionPositions: OptionPositionExtended[] vaultPositions: VaultPositionExtended[] snapshots: UserSnapshotExtended[] poolTransactions: Transaction[] vaultTransactions: VaultTransaction[] optionPSTransactions: OptionPSTransaction[] } export interface UserSnapshot { timestamp: BigNumberish block: BigNumberish transaction: Transaction claimableFeesETH: BigNumberish claimableFeesUSD: BigNumberish totalValueLockedETH: BigNumberish totalValueLockedUSD: BigNumberish netDepositsETH: BigNumberish netDepositsUSD: BigNumberish profitLossETH: BigNumberish profitLossUSD: BigNumberish profitLossETHPercent: BigNumberish profitLossUSDPercent: BigNumberish poolDepositsETH: BigNumberish poolDepositsUSD: BigNumberish poolProfitLossETH: BigNumberish poolProfitLossUSD: BigNumberish poolProfitLossETHPercent: BigNumberish poolProfitLossUSDPercent: BigNumberish optionDepositsETH: BigNumberish optionDepositsUSD: BigNumberish optionProfitLossETH: BigNumberish optionProfitLossUSD: BigNumberish optionProfitLossETHPercent: BigNumberish optionProfitLossUSDPercent: BigNumberish vaultDepositsETH: BigNumberish vaultDepositsUSD: BigNumberish vaultProfitLossETH: BigNumberish vaultProfitLossUSD: BigNumberish vaultProfitLossETHPercent: BigNumberish vaultProfitLossUSDPercent: BigNumberish } export interface UserSnapshotExtended extends UserSnapshot { collateralETH: BigNumberish collateralUSD: BigNumberish longsETH: BigNumberish longsUSD: BigNumberish shortsETH: BigNumberish shortsUSD: BigNumberish depositsETH: BigNumberish depositsUSD: BigNumberish withdrawalsETH: BigNumberish withdrawalsUSD: BigNumberish volumeETH: BigNumberish volumeUSD: BigNumberish premiumsPaidETH: BigNumberish premiumsPaidUSD: BigNumberish premiumsReceivedETH: BigNumberish premiumsReceivedUSD: BigNumberish exercisePayoutsPaidETH: BigNumberish exercisePayoutsPaidUSD: BigNumberish exercisePayoutsReceivedETH: BigNumberish exercisePayoutsReceivedUSD: BigNumberish feeRevenueETH: BigNumberish feeRevenueUSD: BigNumberish feesPaidETH: BigNumberish feesPaidUSD: BigNumberish } export interface TradingCompetitionUser { address: string optionDepositsETH: BigNumberish optionDepositsUSD: BigNumberish optionProfitLossETH: BigNumberish optionProfitLossUSD: BigNumberish optionProfitLossETHPercent: BigNumberish optionProfitLossUSDPercent: BigNumberish }