The Position represents information on a user/account's DCA. It keeps track of a users withdrawal and deposits and is owned by the Vault. Authority of the Position is given to whoever owns the NFT token that has a mint == position_authority.
pub struct Position {
// The A/B/G vault the position belongs to
pub vault: Pubkey, // 32
// The position authority NFT mint
pub position_authority: Pubkey, // 32
// The address to send referral fees too
pub referrer: Pubkey, // 32
// Total deposited
pub deposited_token_a_amount: u64, // 8
// Total withdrawn B (amount sent to the user + amount sent to the treasury)
pub withdrawn_token_b_amount: u64, // 8
pub deposit_timestamp: i64, // 8
// The drip period ID of the vault that happened prior to the user opening this position
pub drip_period_id_before_deposit: u64, // 8
// Number of drips/Swaps that this position will be a part of
pub number_of_swaps: u64, // 8
// deposit_amount_token_a / number_of_swaps
pub periodic_drip_amount: u64, // 8
pub is_closed: bool, // 1
pub bump: u8, // 1
}