pub fn token_deposit(
    ctx: Context<'_, '_, '_, '_, TokenDeposit<'_>>,
    amount: u64,
    reduce_only: bool
) -> Result<()>